From c7e137fb940ab3910a88c8da262156f961807834 Mon Sep 17 00:00:00 2001 From: Ashley Date: Wed, 4 Oct 2023 06:04:36 +0100 Subject: [PATCH] feat(language): Update language store for auto language detection This commit updates the `useLanguageStore` in `language.ts` to support auto language detection. Instead of hardcoding the language as "en", the store now sets the language to "auto". When updating the language using `updateLanguage` action, if the language parameter is "auto", it will use the auto-detected language value from `autoLanguage` instead. The `updateAvailableLanguages` action also updates the `availableLanguages` state using `gettext.available`. --- frontend/src/stores/language.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/stores/language.ts b/frontend/src/stores/language.ts index 1e6ad50db..5bc960e91 100644 --- a/frontend/src/stores/language.ts +++ b/frontend/src/stores/language.ts @@ -1,9 +1,10 @@ -import { defineStore } from "pinia"; import type { Language } from "vue3-gettext"; +import { language as autoLanguage } from "@/i18n"; +import { defineStore } from "pinia"; export const useLanguageStore = defineStore("language", { state: () => ({ - language: "en" as string, + language: "auto" as string, availableLanguages: {} as { [key: string]: string }, }), actions: { @@ -11,7 +12,7 @@ export const useLanguageStore = defineStore("language", { this.language = language; }, updateLanguage(gettext: Language, language: string) { - gettext.current = language; + gettext.current = language === "auto" ? autoLanguage : language; }, updateAvailableLanguages(gettext: Language) { this.availableLanguages = gettext.available;