VBV-421: Set browers language when not logged in

This commit is contained in:
Daniel Egger 2023-06-12 15:52:42 +02:00
parent 42686a500e
commit b577bb6584
1 changed files with 9 additions and 8 deletions

View File

@ -2,7 +2,6 @@ import log from "loglevel";
import { bustItGetCache, itGetCached, itPost } from "@/fetchHelpers"; import { bustItGetCache, itGetCached, itPost } from "@/fetchHelpers";
import { loadLocaleMessages, setI18nLanguage } from "@/i18n"; import { loadLocaleMessages, setI18nLanguage } from "@/i18n";
import { usePreferredLanguages } from "@vueuse/core";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { defineStore } from "pinia"; import { defineStore } from "pinia";
@ -32,16 +31,18 @@ export type UserState = {
language: AvailableLanguages; language: AvailableLanguages;
}; };
const languages = usePreferredLanguages();
const isAvailableLanguage = (language: string): language is AvailableLanguages => {
return language in AVAILABLE_LANGUAGES;
};
let defaultLanguage: AvailableLanguages = "de"; let defaultLanguage: AvailableLanguages = "de";
const AVAILABLE_LANGUAGES = ["de", "fr", "it"]; const AVAILABLE_LANGUAGES = ["de", "fr", "it"];
for (const language of languages.value) { const isAvailableLanguage = (language: string): language is AvailableLanguages => {
return AVAILABLE_LANGUAGES.includes(language);
};
const languagesWithoutCountryCode = navigator.languages.map(
(lang) => lang.split("-")[0]
);
for (const language of languagesWithoutCountryCode) {
if (isAvailableLanguage(language)) { if (isAvailableLanguage(language)) {
defaultLanguage = language; defaultLanguage = language;
break; break;