diff options
Diffstat (limited to 'src/i18n/i18n.ts')
| -rw-r--r-- | src/i18n/i18n.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index 83ed3da..dc8de8b 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -2,6 +2,14 @@ // to generate for localhost/dev, run `build_i18n_json.sh` script import * as languages from "./languages.json"; +const steamLanguageMap: Record<string, string> = + languages.steam_language_map as Record<string, string>; + +const normalizeLanguage = (language: string): string => { + const normalized = language.trim().toLowerCase(); + return steamLanguageMap[normalized] ?? normalized; +}; + function getLangs() { const langs = languages.language_metadata; @@ -32,13 +40,13 @@ let cachedLang: string | undefined; export const getCurrentLanguage = (): string => { if (cachedLang) return cachedLang; - const lang = window.LocalizationManager.m_rgLocalesToUse[0]; + const lang = normalizeLanguage(window.LocalizationManager.m_rgLocalesToUse[0]); cachedLang = lang; return lang; }; export const getLanguageName = (lang?: string): string => { - const targetLang = lang || getCurrentLanguage(); + const targetLang = normalizeLanguage(lang || getCurrentLanguage()); return LANGS[targetLang]?.name || targetLang; }; |
