1
0

langs.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. name: 'Türkçe',
  44. value: 'tr-TR',
  45. icon: '🇹🇷',
  46. },
  47. ];
  48. function getLang() {
  49. let lang = getCookie('lang');
  50. if (!lang) {
  51. if (window.navigator) {
  52. lang = window.navigator.language || window.navigator.userLanguage;
  53. if (isSupportLang(lang)) {
  54. setCookie('lang', lang, 150);
  55. } else {
  56. setCookie('lang', 'en-US', 150);
  57. window.location.reload();
  58. }
  59. } else {
  60. setCookie('lang', 'en-US', 150);
  61. window.location.reload();
  62. }
  63. }
  64. return lang;
  65. }
  66. function setLang(lang) {
  67. if (!isSupportLang(lang)) {
  68. lang = 'en-US';
  69. }
  70. setCookie('lang', lang, 150);
  71. window.location.reload();
  72. }
  73. function isSupportLang(lang) {
  74. for (l of supportLangs) {
  75. if (l.value === lang) {
  76. return true;
  77. }
  78. }
  79. return false;
  80. }