1
0

langs.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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-Hans',
  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. function getLang() {
  44. let lang = getCookie('lang');
  45. if (!lang) {
  46. if (window.navigator) {
  47. lang = window.navigator.language || window.navigator.userLanguage;
  48. if (isSupportLang(lang)) {
  49. setCookie('lang', lang, 150);
  50. } else {
  51. setCookie('lang', 'en-US', 150);
  52. window.location.reload();
  53. }
  54. } else {
  55. setCookie('lang', 'en-US', 150);
  56. window.location.reload();
  57. }
  58. }
  59. return lang;
  60. }
  61. function setLang(lang) {
  62. if (!isSupportLang(lang)) {
  63. lang = 'en-US';
  64. }
  65. setCookie('lang', lang, 150);
  66. window.location.reload();
  67. }
  68. function isSupportLang(lang) {
  69. for (l of supportLangs) {
  70. if (l.value === lang) {
  71. return true;
  72. }
  73. }
  74. return false;
  75. }