3x-ui/web/assets/js/langs.js

94 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-05-08 14:13:02 +03:00
const supportLangs = [
2023-02-09 22:18:06 +03:00
{
name: 'English',
value: 'en-US',
icon: '🇺🇸',
2023-02-09 22:18:06 +03:00
},
2023-03-17 19:07:49 +03:00
{
2023-05-14 00:39:31 +03:00
name: 'فارسی',
value: 'fa-IR',
icon: '🇮🇷',
2023-02-09 22:18:06 +03:00
},
{
2024-08-28 12:30:49 +03:00
name: '中文',
value: 'zh-CN',
icon: '🇨🇳',
2023-02-09 22:18:06 +03:00
},
2023-05-08 14:13:02 +03:00
{
2023-05-14 00:39:31 +03:00
name: 'Русский',
value: 'ru-RU',
icon: '🇷🇺',
2023-05-08 14:13:02 +03:00
},
2023-08-21 10:50:20 +03:00
{
name: 'Tiếng Việt',
value: 'vi-VN',
icon: '🇻🇳',
},
{
2023-10-18 13:00:37 +03:00
name: 'Español',
value: 'es-ES',
icon: '🇪🇸',
},
{
name: 'Indonesian',
value: 'id-ID',
icon: '🇮🇩',
},
{
name: 'Український',
value: 'uk-UA',
icon: '🇺🇦',
},
{
name: 'Türkçe',
value: 'tr-TR',
icon: '🇹🇷',
},
2024-09-05 11:02:32 +03:00
{
name: "Português",
value: "pt-BR",
icon: "🇧🇷",
},
];
2023-02-09 22:18:06 +03:00
function getLang() {
let lang = getCookie('lang');
2023-02-09 22:18:06 +03:00
if (!lang) {
if (window.navigator) {
2023-02-09 22:18:06 +03:00
lang = window.navigator.language || window.navigator.userLanguage;
if (isSupportLang(lang)) {
setCookie('lang', lang, 150);
} else {
setCookie('lang', 'en-US', 150);
2023-02-09 22:18:06 +03:00
window.location.reload();
}
} else {
setCookie('lang', 'en-US', 150);
2023-02-09 22:18:06 +03:00
window.location.reload();
}
}
return lang;
}
function setLang(lang) {
if (!isSupportLang(lang)) {
2023-02-09 22:18:06 +03:00
lang = 'en-US';
}
setCookie('lang', lang, 150);
2023-02-09 22:18:06 +03:00
window.location.reload();
}
function isSupportLang(lang) {
for (l of supportLangs) {
if (l.value === lang) {
2023-02-09 22:18:06 +03:00
return true;
}
}
return false;
}