diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-04-11 17:12:18 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-04-11 17:12:18 +0500 |
| commit | ebbadf94dd4b23b9ceabd402ed0886c4cd8c6062 (patch) | |
| tree | 5ecb0a950bc4ccd39a1c002a37c042950a8f91be /front/src/Locales | |
| parent | 5d2c8369389013895264caf16e71d44bddabb22c (diff) | |
Localization persistance
Diffstat (limited to 'front/src/Locales')
| -rw-r--r-- | front/src/Locales/Locales.ts | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/front/src/Locales/Locales.ts b/front/src/Locales/Locales.ts index af76045..6e6a33e 100644 --- a/front/src/Locales/Locales.ts +++ b/front/src/Locales/Locales.ts @@ -1,5 +1,4 @@ -import { createContext } from 'vm'; -import { LanguageContext } from './Context'; +import { AllowedLanguages } from './Context'; import en_us from './en_US'; import Language from './Language'; import ru_ru from './ru_RU'; @@ -12,13 +11,14 @@ const nameToLocale = new Map<string, Language>([ ['ru', ru_ru], ]); -function getCurrentLocale(lang: string): Language { +function getCurrentLocale(lang: AllowedLanguages): Language { const outp = nameToLocale.get(lang); if (outp == undefined) return defaultLocale; return outp; } -export function GetString(query: string, lang: string): string { +export function GetLocalizedString(query: string, lang: AllowedLanguages): string { + query = query.toLowerCase(); const locale = getCurrentLocale(lang); const found = locale.LocalizedStrings.get(query); if (found == undefined) return defaultLocale.LocalizedStrings.get(query) || query; @@ -28,3 +28,13 @@ export function GetString(query: string, lang: string): string { export function SetLocale(locale: string, setLang: (x: string) => void) { if (nameToLocale.has(locale)) setLang(locale); } + +const StorageLanguageName = "language"; + +export function SaveCurrentLocale(lang: AllowedLanguages) { + localStorage.setItem(StorageLanguageName, lang) +} + +export function ReadCurrentLocale(): AllowedLanguages { + return localStorage.getItem(StorageLanguageName) as AllowedLanguages || "en"; +} |
