mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-12-06 00:16:49 +00:00
Fix up locales, optimised some functions
This commit is contained in:
@@ -16,82 +16,43 @@ import langZh from "./lang/zh.json";
|
||||
// not the country code
|
||||
// Remember when adding to this list, also update check-locales.js script
|
||||
const localeOptions = [
|
||||
["en", "en-US"],
|
||||
["de", "de-DE"],
|
||||
["es", "es-ES"],
|
||||
["ja", "ja-JP"],
|
||||
["ru", "ru-RU"],
|
||||
["sk", "sk-SK"],
|
||||
["zh", "zh-CN"],
|
||||
["pl", "pl-PL"],
|
||||
["it", "it-IT"],
|
||||
["vi", "vi-VN"],
|
||||
["nl", "nl-NL"],
|
||||
["en", "en-US", langEn],
|
||||
["de", "de-DE", langDe],
|
||||
["es", "es-ES", langEs],
|
||||
["ja", "ja-JP", langJa],
|
||||
["it", "it-IT", langIt],
|
||||
["nl", "nl-NL", langNl],
|
||||
["pl", "pl-PL", langPl],
|
||||
["ru", "ru-RU", langRu],
|
||||
["sk", "sk-SK", langSk],
|
||||
["vi", "vi-VN", langVi],
|
||||
["zh", "zh-CN", langZh],
|
||||
];
|
||||
|
||||
const loadMessages = (locale?: string): typeof langList & typeof langEn => {
|
||||
const thisLocale = locale || "en";
|
||||
switch (thisLocale.slice(0, 2)) {
|
||||
case "de":
|
||||
return Object.assign({}, langList, langEn, langDe);
|
||||
case "es":
|
||||
return Object.assign({}, langList, langEn, langEs);
|
||||
case "ja":
|
||||
return Object.assign({}, langList, langEn, langJa);
|
||||
case "ru":
|
||||
return Object.assign({}, langList, langEn, langRu);
|
||||
case "sk":
|
||||
return Object.assign({}, langList, langEn, langSk);
|
||||
case "zh":
|
||||
return Object.assign({}, langList, langEn, langZh);
|
||||
case "pl":
|
||||
return Object.assign({}, langList, langEn, langPl);
|
||||
case "it":
|
||||
return Object.assign({}, langList, langEn, langIt);
|
||||
case "vi":
|
||||
return Object.assign({}, langList, langEn, langVi);
|
||||
case "nl":
|
||||
return Object.assign({}, langList, langEn, langNl);
|
||||
default:
|
||||
return Object.assign({}, langList, langEn);
|
||||
const thisLocale = (locale || "en").slice(0, 2);
|
||||
|
||||
// ensure this lang exists in localeOptions above, otherwise fallback to en
|
||||
if (thisLocale === "en" || !localeOptions.some(([code]) => code === thisLocale)) {
|
||||
return Object.assign({}, langList, langEn);
|
||||
}
|
||||
|
||||
return Object.assign({}, langList, langEn, localeOptions.find(([code]) => code === thisLocale)?.[2]);
|
||||
};
|
||||
|
||||
const getFlagCodeForLocale = (locale?: string) => {
|
||||
switch (locale) {
|
||||
case "es-ES":
|
||||
case "es":
|
||||
return "ES";
|
||||
case "de-DE":
|
||||
case "de":
|
||||
return "DE";
|
||||
case "ja-JP":
|
||||
case "ja":
|
||||
return "JP";
|
||||
case "ru-RU":
|
||||
case "ru":
|
||||
return "RU";
|
||||
case "sk-SK":
|
||||
case "sk":
|
||||
return "SK";
|
||||
case "zh":
|
||||
case "zh-CN":
|
||||
return "CN";
|
||||
case "pl":
|
||||
case "pl-PL":
|
||||
return "PL";
|
||||
case "it":
|
||||
case "it-IT":
|
||||
return "IT";
|
||||
case "vi":
|
||||
case "vi-VN":
|
||||
return "VN";
|
||||
case "nl":
|
||||
case "nl-NL":
|
||||
return "NL";
|
||||
default:
|
||||
return "EN";
|
||||
const thisLocale = (locale || "en").slice(0, 2);
|
||||
|
||||
// only add to this if your flag is different from the locale code
|
||||
const specialCases: Record<string, string> = {
|
||||
ja: "jp", // Japan
|
||||
zh: "cn", // China
|
||||
};
|
||||
|
||||
if (specialCases[thisLocale]) {
|
||||
return specialCases[thisLocale].toUpperCase();
|
||||
}
|
||||
return thisLocale.toUpperCase();
|
||||
};
|
||||
|
||||
const getLocale = (short = false) => {
|
||||
@@ -112,10 +73,7 @@ const getLocale = (short = false) => {
|
||||
const cache = createIntlCache();
|
||||
|
||||
const initialMessages = loadMessages(getLocale());
|
||||
let intl = createIntl(
|
||||
{ locale: getLocale(), messages: initialMessages },
|
||||
cache,
|
||||
);
|
||||
let intl = createIntl({ locale: getLocale(), messages: initialMessages }, cache);
|
||||
|
||||
const changeLocale = (locale: string): void => {
|
||||
const messages = loadMessages(locale);
|
||||
@@ -155,12 +113,6 @@ const T = ({
|
||||
);
|
||||
};
|
||||
|
||||
export {
|
||||
localeOptions,
|
||||
getFlagCodeForLocale,
|
||||
getLocale,
|
||||
createIntl,
|
||||
changeLocale,
|
||||
intl,
|
||||
T,
|
||||
};
|
||||
console.log("L:", localeOptions);
|
||||
|
||||
export { localeOptions, getFlagCodeForLocale, getLocale, createIntl, changeLocale, intl, T };
|
||||
|
||||
Reference in New Issue
Block a user