web/user: add language selection
closes #2041 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
@ -1,21 +1,51 @@
|
||||
import { en, fr, tr } from "make-plural/plurals";
|
||||
|
||||
import { i18n } from "@lingui/core";
|
||||
import { Messages, i18n } from "@lingui/core";
|
||||
import { detect, fromNavigator, fromStorage, fromUrl } from "@lingui/detect-locale";
|
||||
import { t } from "@lingui/macro";
|
||||
|
||||
import { messages as localeEN } from "../locales/en";
|
||||
import { messages as localeFR_FR } from "../locales/fr_FR";
|
||||
import { messages as localeDEBUG } from "../locales/pseudo-LOCALE";
|
||||
import { messages as localeTR } from "../locales/tr";
|
||||
|
||||
i18n.loadLocaleData("en", { plurals: en });
|
||||
i18n.loadLocaleData("debug", { plurals: en });
|
||||
i18n.loadLocaleData("tr", { plurals: tr });
|
||||
i18n.loadLocaleData("fr_FR", { plurals: fr });
|
||||
i18n.load("en", localeEN);
|
||||
i18n.load("tr", localeTR);
|
||||
i18n.load("fr_FR", localeFR_FR);
|
||||
i18n.load("debug", localeDEBUG);
|
||||
export const LOCALES: {
|
||||
code: string;
|
||||
label: string;
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
plurals: Function;
|
||||
locale: Messages;
|
||||
}[] = [
|
||||
{
|
||||
code: "en",
|
||||
plurals: en,
|
||||
label: t`English`,
|
||||
locale: localeEN,
|
||||
},
|
||||
{
|
||||
code: "debug",
|
||||
plurals: en,
|
||||
label: t`Debug`,
|
||||
locale: localeDEBUG,
|
||||
},
|
||||
{
|
||||
code: "fr_FR",
|
||||
plurals: fr,
|
||||
label: t`French`,
|
||||
locale: localeFR_FR,
|
||||
},
|
||||
{
|
||||
code: "tr",
|
||||
plurals: tr,
|
||||
label: t`Turkish`,
|
||||
locale: localeTR,
|
||||
},
|
||||
];
|
||||
|
||||
LOCALES.forEach((locale) => {
|
||||
i18n.loadLocaleData(locale.code, { plurals: locale.plurals });
|
||||
i18n.load(locale.code, locale.locale);
|
||||
});
|
||||
|
||||
const DEFAULT_FALLBACK = () => "en";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user