langs.js 1.4 KB

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