Merge fix/locale-fallback-inactive-german: Sprach-Fallback ignoriert deaktiviertes Deutsch
This commit is contained in:
@@ -4,6 +4,19 @@ Alle nennenswerten Änderungen an diesem Projekt werden hier dokumentiert.
|
||||
Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.1.0/),
|
||||
Versionierung nach [Semantic Versioning](https://semver.org/lang/de/).
|
||||
|
||||
## [1.11.1] – 2026-07-20
|
||||
|
||||
### Behoben
|
||||
- Wurde Deutsch im Sprachen-Admin deaktiviert (z. B. um die App auf nur
|
||||
Englisch zu reduzieren), blieb die gesamte App trotzdem auf Deutsch
|
||||
stehen, sowohl im öffentlichen als auch im internen Bereich: `getLocale()`
|
||||
fiel bei fehlendem/ungültigem Sprach-Cookie bisher immer fest auf
|
||||
Deutsch zurück, unabhängig davon, ob Deutsch überhaupt noch aktiv war.
|
||||
Da der Sprachumschalter sich bei nur einer aktiven Sprache zusätzlich
|
||||
automatisch ausblendet, gab es keine Möglichkeit, das über die
|
||||
Oberfläche zu korrigieren. Der Fallback nutzt jetzt Deutsch nur noch,
|
||||
wenn es tatsächlich aktiv ist – sonst die erste aktive Sprache.
|
||||
|
||||
## [1.11.0] – 2026-07-20
|
||||
|
||||
### Hinzugefügt
|
||||
|
||||
+5
-2
@@ -14,12 +14,15 @@ export * from "./shared";
|
||||
|
||||
/** Aktuelle Sprache aus dem Cookie lesen, validiert gegen die aktiven
|
||||
* Sprachen (Server-Komponenten). Ungültig oder nicht mehr aktiv →
|
||||
* Basis-Sprache. */
|
||||
* Basis-Sprache, sofern die noch aktiv ist – sonst die erste aktive
|
||||
* Sprache (z. B. wenn Deutsch im Admin-Bereich deaktiviert wurde). */
|
||||
export async function getLocale(): Promise<Locale> {
|
||||
const store = await cookies();
|
||||
const value = store.get(LOCALE_COOKIE)?.value;
|
||||
const active = await listActiveLanguageCodes();
|
||||
return isLocale(value, active) ? value : DEFAULT_LOCALE;
|
||||
if (isLocale(value, active)) return value;
|
||||
if (active.includes(DEFAULT_LOCALE)) return DEFAULT_LOCALE;
|
||||
return active[0] ?? DEFAULT_LOCALE;
|
||||
}
|
||||
|
||||
/** Wörterbuch für eine Sprache. Nicht-deutsche Sprachen werden aus der
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "canteen-menu",
|
||||
"version": "1.11.0",
|
||||
"version": "1.11.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"predev": "node --env-file-if-exists=.env.local db/migrate.mjs && node --env-file-if-exists=.env.local scripts/bootstrap-admin.mjs",
|
||||
|
||||
Reference in New Issue
Block a user