summaryrefslogtreecommitdiff
path: root/front/src/Locales
diff options
context:
space:
mode:
authorphyscik <mynameisgennadiy@vk.com>2026-04-11 17:12:18 +0500
committerphyscik <mynameisgennadiy@vk.com>2026-04-11 17:12:18 +0500
commitebbadf94dd4b23b9ceabd402ed0886c4cd8c6062 (patch)
tree5ecb0a950bc4ccd39a1c002a37c042950a8f91be /front/src/Locales
parent5d2c8369389013895264caf16e71d44bddabb22c (diff)
Localization persistance
Diffstat (limited to 'front/src/Locales')
-rw-r--r--front/src/Locales/Locales.ts18
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";
+}