Files
zitadel/apps/login/src/lib/i18n.ts
T
1e09b4fc19 feat(login): hu translations + I18n consistency v2 (#12447)
# Which Problems Are Solved

Fixes i18n consistency and adds HU translations for login v2

# How the Problems Are Solved

- Updated i18n files and added hu.json
- Moved all translations to v2-default.json

---------

Co-authored-by: Dobos Zoltán <[email protected]>
Co-authored-by: Liam Neville <[email protected]>
2026-07-15 11:27:25 +00:00

87 lines
1.3 KiB
TypeScript

export interface Lang {
name: string;
code: string;
}
export const LANGS: Lang[] = [
{
name: "English",
code: "en",
},
{
name: "Deutsch",
code: "de",
},
{
name: "Italiano",
code: "it",
},
{
name: "Español",
code: "es",
},
{
name: "Français",
code: "fr",
},
{
name: "Nederlands",
code: "nl",
},
{
name: "Polski",
code: "pl",
},
{
name: "Português",
code: "pt",
},
{
name: "简体中文",
code: "zh",
},
{
name: "Русский",
code: "ru",
},
{
name: "Magyar",
code: "hu",
},
{
name: "Türkçe",
code: "tr",
},
{
name: "日本語",
code: "ja",
},
{
name: "Українська",
code: "uk",
},
{
name: "العربية",
code: "ar",
},
];
export const LANGUAGE_COOKIE_NAME = "NEXT_LOCALE";
export const LANGUAGE_HEADER_NAME = "accept-language";
export function shouldUILocalesOverrideCookie(): boolean {
return process.env.ZITADEL_UI_LOCALES_OVERRIDE_COOKIE === "true";
}
export function getLanguage(code: string): Lang {
const lang = LANGS.find((l) => l.code === code);
if (lang) {
return lang;
}
return {
code,
name: new Intl.DisplayNames([code], { type: "language" }).of(code) || code,
};
}