diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 20:57:26 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 20:57:26 -0400 |
| commit | 54acc36f16e1336772354f979a618cce65061f82 (patch) | |
| tree | 9aae51351de2468277b3392b984e5caa99c271b4 /src/i18n | |
| parent | e21eee83fc58fee3481aa0e17feb7cd9a8d8750e (diff) | |
| download | decky-lsfg-vk-54acc36f16e1336772354f979a618cce65061f82.tar.gz decky-lsfg-vk-54acc36f16e1336772354f979a618cce65061f82.zip | |
refactor: make runtime installation explicit
Diffstat (limited to 'src/i18n')
| -rw-r--r-- | src/i18n/i18n.ts | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index dc8de8b..31a55cb 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -2,8 +2,16 @@ // 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>; +type LanguageStrings = Record<string, string>; +type Language = { name: string; strings?: LanguageStrings }; +type LanguageData = { + language_metadata: Record<string, Language>; + steam_language_map: Record<string, string>; + [language: string]: LanguageStrings | Record<string, Language> | Record<string, string>; +}; + +const languageData = languages as unknown as LanguageData; +const steamLanguageMap = languageData.steam_language_map; const normalizeLanguage = (language: string): string => { const normalized = language.trim().toLowerCase(); @@ -11,13 +19,13 @@ const normalizeLanguage = (language: string): string => { }; function getLangs() { - const langs = languages.language_metadata; + const langs = languageData.language_metadata; - Object.keys(languages).map((lang) => { + Object.keys(languageData).forEach((lang) => { if (lang === "language_metadata" || lang == "steam_language_map") { return; } - const strs = languages[lang]; + const strs = languageData[lang] as LanguageStrings; if (lang && strs && langs[lang]?.name) { langs[lang].strings = strs; } @@ -27,12 +35,7 @@ function getLangs() { } export const LANGS: { - [key: string]: { - name: string; - strings: { - [key: string]: string; - }; - }; + [key: string]: Language; } = getLangs(); let cachedLang: string | undefined; |
