langs.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. const supportLangs = [
  2. {
  3. name: 'English',
  4. value: 'en-US',
  5. icon: '🇺🇸',
  6. },
  7. {
  8. name: 'فارسی',
  9. value: 'fa-IR',
  10. icon: '🇮🇷',
  11. },
  12. {
  13. name: '中文',
  14. value: 'zh-CN',
  15. icon: '🇨🇳',
  16. },
  17. {
  18. name: 'Русский',
  19. value: 'ru-RU',
  20. icon: '🇷🇺',
  21. },
  22. {
  23. name: 'Tiếng Việt',
  24. value: 'vi-VN',
  25. icon: '🇻🇳',
  26. },
  27. {
  28. name: 'Español',
  29. value: 'es-ES',
  30. icon: '🇪🇸',
  31. },
  32. {
  33. name: 'Indonesian',
  34. value: 'id-ID',
  35. icon: '🇮🇩',
  36. },
  37. {
  38. name: 'Український',
  39. value: 'uk-UA',
  40. icon: '🇺🇦',
  41. },
  42. {
  43. name: 'Türkçe',
  44. value: 'tr-TR',
  45. icon: '🇹🇷',
  46. },
  47. {
  48. name: "Português",
  49. value: "pt-BR",
  50. icon: "🇧🇷",
  51. },
  52. ];
  53. function getLang() {
  54. let lang = getCookie('lang');
  55. if (!lang) {
  56. if (window.navigator) {
  57. lang = window.navigator.language || window.navigator.userLanguage;
  58. if (isSupportLang(lang)) {
  59. setCookie('lang', lang, 150);
  60. } else {
  61. setCookie('lang', 'en-US', 150);
  62. window.location.reload();
  63. }
  64. } else {
  65. setCookie('lang', 'en-US', 150);
  66. window.location.reload();
  67. }
  68. }
  69. return lang;
  70. }
  71. function setLang(lang) {
  72. if (!isSupportLang(lang)) {
  73. lang = 'en-US';
  74. }
  75. setCookie('lang', lang, 150);
  76. window.location.reload();
  77. }
  78. function isSupportLang(lang) {
  79. for (l of supportLangs) {
  80. if (l.value === lang) {
  81. return true;
  82. }
  83. }
  84. return false;
  85. }