i18n: migrate from German-first to English-first default locale

Switch defaultLocale from "de" to "en" and make English the code-level
language throughout. All ~145 hardcoded German strings translated:

- API error messages (52 routes) now return English
- Zod validation messages in English
- Classification/analytics functions return English categories
- Notification type labels in English
- Component strings use i18n t() calls (heatmap, mood chart,
  medication form, intake history, password strength, insights card)
- ~50 new i18n keys in both de.json and en.json

Route migration:
- /stimmung → /mood, /zielwerte → /targets (new pages)
- 301 redirects in proxy.ts for legacy URLs
- Sidebar + bottom nav updated

Bump version to 1.0.1.
This commit is contained in:
Marc-André Bombeck committed 2026-03-12 21:31:48 +01:00
1 parent 38309932f3
commit 0c0c345e82
74 files changed
+871 -402

No files matched your search

+2 -2
View File
@@ -103,7 +103,7 @@ export async function requireAuth(): Promise<{
: never;
}> {
const sessionData = await getSession();
if (!sessionData) throw new HttpError(401, "Nicht angemeldet");
if (!sessionData) throw new HttpError(401, "Not authenticated");
const evt = getEvent();
if (evt) {
@@ -131,7 +131,7 @@ export async function requireAdmin(): Promise<{
}> {
const sessionData = await requireAuth();
if (sessionData.user.role !== "ADMIN") {
throw new HttpError(403, "Nur Admins erlaubt");
throw new HttpError(403, "Admin access required");
}
return sessionData;
}