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

104 lines
1.5 KiB
JavaScript
Raw Normal View History

2023-05-08 14:13:02 +03:00
const supportLangs = [
{
name: "English",
value: "en-US",
icon: "🇺🇸",
},
{
name: "فارسی",
value: "fa-IR",
icon: "🇮🇷",
},
{
2024-10-18 11:00:15 +03:00
name: "简体中文",
value: "zh-CN",
icon: "🇨🇳",
},
{
name: "繁體中文",
value: "zh-TW",
icon: "🇹🇼",
},
2024-11-15 13:08:48 +03:00
{
name: "日本語",
value: "ja-JP",
icon: "🇯🇵",
},
{
name: "Русский",
value: "ru-RU",
icon: "🇷🇺",
},
{
name: "Tiếng Việt",
value: "vi-VN",
icon: "🇻🇳",
},
{
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: "🇹🇷",
},
{
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) {
lang = window.navigator.language || window.navigator.userLanguage;
2023-02-09 22:18:06 +03:00
if (isSupportLang(lang)) {
setCookie("lang", lang, 150);
} else {
setCookie("lang", "en-US", 150);
window.location.reload();
}
} else {
setCookie("lang", "en-US", 150);
window.location.reload();
}
}
2023-02-09 22:18:06 +03:00
return lang;
2023-02-09 22:18:06 +03:00
}
function setLang(lang) {
if (!isSupportLang(lang)) {
lang = "en-US";
}
2023-02-09 22:18:06 +03:00
setCookie("lang", lang, 150);
window.location.reload();
2023-02-09 22:18:06 +03:00
}
function isSupportLang(lang) {
for (l of supportLangs) {
if (l.value === lang) {
return true;
}
}
2023-02-09 22:18:06 +03:00
return false;
2023-02-09 22:18:06 +03:00
}