Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c05a16f09 | ||
|
|
c98a3617a4 |
@@ -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/),
|
Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.1.0/),
|
||||||
Versionierung nach [Semantic Versioning](https://semver.org/lang/de/).
|
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
|
## [1.11.0] – 2026-07-20
|
||||||
|
|
||||||
### Hinzugefügt
|
### Hinzugefügt
|
||||||
|
|||||||
+5
-2
@@ -14,12 +14,15 @@ export * from "./shared";
|
|||||||
|
|
||||||
/** Aktuelle Sprache aus dem Cookie lesen, validiert gegen die aktiven
|
/** Aktuelle Sprache aus dem Cookie lesen, validiert gegen die aktiven
|
||||||
* Sprachen (Server-Komponenten). Ungültig oder nicht mehr aktiv →
|
* 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> {
|
export async function getLocale(): Promise<Locale> {
|
||||||
const store = await cookies();
|
const store = await cookies();
|
||||||
const value = store.get(LOCALE_COOKIE)?.value;
|
const value = store.get(LOCALE_COOKIE)?.value;
|
||||||
const active = await listActiveLanguageCodes();
|
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
|
/** Wörterbuch für eine Sprache. Nicht-deutsche Sprachen werden aus der
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "canteen-menu",
|
"name": "canteen-menu",
|
||||||
"version": "1.11.0",
|
"version": "1.11.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"predev": "node --env-file-if-exists=.env.local db/migrate.mjs && node --env-file-if-exists=.env.local scripts/bootstrap-admin.mjs",
|
"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