summaryrefslogtreecommitdiff
path: root/src/i18n/i18n.ts
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2026-08-03 14:32:35 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2026-08-03 14:32:35 -0400
commitc52d1fa86d302d0d6cb29808aa62c755c7b33362 (patch)
tree52c1cad716b92c784d2946d063cc36b34255ea5e /src/i18n/i18n.ts
parent7c91f739ff2c6e2da2b31533b3cf170c7d198f3c (diff)
parent5598bb0e97fd9a0e16f63c4c93a4dc6ae1f169ab (diff)
downloaddecky-lsfg-vk-c52d1fa86d302d0d6cb29808aa62c755c7b33362.tar.gz
decky-lsfg-vk-c52d1fa86d302d0d6cb29808aa62c755c7b33362.zip
Merge main and normalize translation locale handling
Diffstat (limited to 'src/i18n/i18n.ts')
-rw-r--r--src/i18n/i18n.ts12
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;
};