diff --git a/src/i18n/intl.ts b/src/i18n/intl.ts index 8dd79e8..9324c36 100644 --- a/src/i18n/intl.ts +++ b/src/i18n/intl.ts @@ -11,14 +11,15 @@ const languages: Array = Object.keys(i18nKeys); let language: string = getSystemLanguage(); export function getSystemLanguage(): string { - const sysLanguage: (string|null|undefined) = GLib.getenv("LANG") || GLib.getenv("LANGUAGE"); + const sysLanguage: (string|null|undefined) = GLib.getenv("LANG") ?? GLib.getenv("LANGUAGE"), + splitted: Array|undefined = sysLanguage?.split('.'); - if(!sysLanguage || languages[sysLanguage as keyof typeof languages] === undefined) { - console.warn(`Intl: Fallback to default \`${languages[0]}\``); + if(!splitted || !languages.includes(splitted![0])) { + console.warn(`Intl: Falling back to default \`${languages[0]}\``); return languages[0]; } - return sysLanguage.split('.')[0]; + return splitted![0]; } export function setLanguage(lang: string): string {