langs.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. function getLang() {
  29. let lang = getCookie('lang');
  30. if (!lang) {
  31. if (window.navigator) {
  32. lang = window.navigator.language || window.navigator.userLanguage;
  33. if (isSupportLang(lang)) {
  34. setCookie('lang', lang, 150);
  35. } else {
  36. setCookie('lang', 'en-US', 150);
  37. window.location.reload();
  38. }
  39. } else {
  40. setCookie('lang', 'en-US', 150);
  41. window.location.reload();
  42. }
  43. }
  44. return lang;
  45. }
  46. function setLang(lang) {
  47. if (!isSupportLang(lang)) {
  48. lang = 'en-US';
  49. }
  50. setCookie('lang', lang, 150);
  51. window.location.reload();
  52. }
  53. function isSupportLang(lang) {
  54. for (l of supportLangs) {
  55. if (l.value === lang) {
  56. return true;
  57. }
  58. }
  59. return false;
  60. }