diff --git a/client/src/stores/user.ts b/client/src/stores/user.ts index ba89c256..f8b1ac5d 100644 --- a/client/src/stores/user.ts +++ b/client/src/stores/user.ts @@ -2,6 +2,7 @@ import log from "loglevel"; import { bustItGetCache, itGetCached, itPost } from "@/fetchHelpers"; import { loadLocaleMessages, setI18nLanguage } from "@/i18n"; +import { usePreferredLanguages } from "@vueuse/core"; import dayjs from "dayjs"; import { defineStore } from "pinia"; @@ -31,6 +32,22 @@ export type UserState = { language: AvailableLanguages; }; +const languages = usePreferredLanguages(); + +const isAvailableLanguage = (language: string): language is AvailableLanguages => { + return language in AVAILABLE_LANGUAGES; +}; + +let defaultLanguage: AvailableLanguages = "de"; +const AVAILABLE_LANGUAGES = ["de", "fr", "it"]; + +for (const language of languages.value) { + if (isAvailableLanguage(language)) { + defaultLanguage = language; + break; + } +} + const initialUserState: UserState = { id: 0, email: "", @@ -41,7 +58,7 @@ const initialUserState: UserState = { is_superuser: false, course_session_experts: [], loggedIn: false, - language: "de", + language: defaultLanguage, }; async function setLocale(language: AvailableLanguages) { diff --git a/server/vbv_lernwelt/importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx b/server/vbv_lernwelt/importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx index 05311f3e..181ef002 100644 Binary files a/server/vbv_lernwelt/importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx and b/server/vbv_lernwelt/importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx differ diff --git a/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx b/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx index f2f57358..3646c8a3 100644 Binary files a/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx and b/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx differ diff --git a/server/vbv_lernwelt/importer/tests/test_import_students.py b/server/vbv_lernwelt/importer/tests/test_import_students.py index 500299b0..6e2186e2 100644 --- a/server/vbv_lernwelt/importer/tests/test_import_students.py +++ b/server/vbv_lernwelt/importer/tests/test_import_students.py @@ -31,7 +31,7 @@ class ImportStudentsTestCase(TestCase): print(row) create_or_update_student(self.course, dict(row)) - self.assertEqual(CourseSessionUser.objects.count(), 28) + self.assertEqual(CourseSessionUser.objects.count(), 14) class CreateOrUpdateStudentTestCase(TestCase): diff --git a/server/vbv_lernwelt/importer/tests/test_import_trainers.py b/server/vbv_lernwelt/importer/tests/test_import_trainers.py index 383319fa..6d6e4bd0 100644 --- a/server/vbv_lernwelt/importer/tests/test_import_trainers.py +++ b/server/vbv_lernwelt/importer/tests/test_import_trainers.py @@ -38,7 +38,7 @@ class ImportTrainerTestCase(TestCase): print(row) create_or_update_trainer(self.course, dict(row)) - self.assertEqual(CourseSessionUser.objects.count(), 4) + self.assertEqual(CourseSessionUser.objects.count(), 6) class CreateOrUpdateTrainerTestCase(TestCase):