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: "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, }; }