From 7150c824a277457c33680e6f6925d7a49e428232 Mon Sep 17 00:00:00 2001 From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org> Date: Wed, 1 Nov 2023 18:09:56 +0100 Subject: [PATCH] feat: store selected locale in localStorage --- src/i18n/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 6f3499f4..fbe8e344 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -2,7 +2,10 @@ import Polyglot from 'node-polyglot' import { App, computed, reactive } from 'vue' import { has } from '@/utilities' -const DEFAULT_LOCALE = import.meta.env.VUE_APP_DEFAULT_LOCALE ?? 'de' +const STORAGE_KEY = 'aura:locale' + +const DEFAULT_LOCALE = + localStorage.getItem(STORAGE_KEY) ?? import.meta.env.VUE_APP_DEFAULT_LOCALE ?? 'de' const locales = Object.fromEntries( Object.entries(import.meta.glob('./??.js', { import: 'default', eager: true })).map( @@ -44,6 +47,7 @@ function updateLocale(newLocale: string): void { if (has(locales, newLocale)) { state.locale = newLocale state.polyglot = createPolyglot(newLocale) + localStorage.setItem(STORAGE_KEY, newLocale) } else { throw new Error(`Unknown locale code for language: ${newLocale}`) } -- GitLab