refactor(i18n): namespace admin keys under admin.section.<slug>.*

Adds the `admin.section.*` and `admin.shell.*` blocks for the v1.5
admin per-section dynamic routes. EN canonical, DE mirrors. Every key
exists in both locales — the existing `i18n-locale-integrity` parity
test enforces this at PR time.

Untouched: the legacy admin.* flat keys (admin.systemStatus,
admin.userManagement, etc.) still drive the per-section component
internals; the new `admin.section.<slug>.*` block lives alongside them
for the route-level title/subtitle and the new force-logout / backups
copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marc-André BombeckandClaude Opus 4.7 committed 2026-05-09 16:59:58 +02:00
1 parent 5957e1827e
commit a34cd8cf4d
2 files changed
+146

No files matched your search

+73
View File
@@ -1457,6 +1457,79 @@
"archiveConfirm": "Diesen Feedback-Eintrag archivieren?",
"submittedBy": "Eingereicht von",
"sectionTitle": "Feedback"
},
"shell": {
"overview": "Übersicht",
"sectionsNav": "Admin-Bereiche"
},
"section": {
"system-status": {
"title": "Systemstatus",
"subtitle": "Worker, Datenbank und Integrationen im Überblick."
},
"general": {
"title": "Allgemein",
"subtitle": "Registrierung, Standardsprache und weitere globale Schalter."
},
"services": {
"title": "Dienste",
"subtitle": "Benachrichtigungskanäle systemweit aktivieren oder deaktivieren."
},
"integrations": {
"title": "Integrationen",
"subtitle": "Umami, GlitchTip, Web Push und Bug-Reports konfigurieren."
},
"feedback": {
"title": "Feedback",
"subtitle": "Feedback und Bug-Reports der Nutzer sichten."
},
"reminders": {
"title": "Erinnerungen",
"subtitle": "Schwellwerte für Medikamentenerinnerungen anpassen."
},
"users": {
"title": "Benutzer",
"subtitle": "Konten, Rollen und aktive Sitzungen verwalten.",
"filter": {
"all": "Alle",
"admin": "Admins",
"user": "Nutzer"
},
"forceLogout": "Abmeldung erzwingen",
"forceLogoutConfirmTitle": "{name} abmelden?",
"forceLogoutConfirmBody": "Alle aktiven Sitzungen dieses Benutzers werden widerrufen. Auf allen Geräten ist eine erneute Anmeldung erforderlich.",
"forceLogoutSuccess": "{name} aus {count} Sitzung(en) abgemeldet",
"forceLogoutFailed": "Abmeldung fehlgeschlagen",
"cannotLogoutSelf": "Eigene Sitzungen können nicht beendet werden"
},
"api-tokens": {
"title": "API-Tokens",
"subtitle": "Aktive Bearer-Tokens für native Clients und Integrationen."
},
"login-overview": {
"title": "Login-Übersicht",
"subtitle": "Audit-Spur für Authentifizierungs- und Admin-Ereignisse."
},
"backups": {
"title": "Backups",
"subtitle": "Wöchentliche Daten-Snapshots pro Nutzer in PostgreSQL.",
"description": "Jeder Nutzer hat einen rollierenden Snapshot pro Backup-Typ. Größen zeigen den verschlüsselten Blob — die Inhalte sind hier nicht herunterladbar.",
"runNow": "Jetzt sichern",
"runEnqueued": "Backup-Job eingeplant",
"runFailed": "Backup konnte nicht eingeplant werden",
"loading": "Backups werden geladen...",
"loadError": "Backups konnten nicht geladen werden.",
"empty": "Noch keine Backups vorhanden.",
"colUser": "Nutzer",
"colType": "Typ",
"colSize": "Größe",
"colCreatedAt": "Letzter Snapshot",
"retentionLabel": "Aufbewahrung: {days} Tage"
},
"danger-zone": {
"title": "Gefahrenzone",
"subtitle": "Destruktive systemweite Operationen."
}
}
},
"achievements": {
+73
View File
@@ -1457,6 +1457,79 @@
"archiveConfirm": "Archive this feedback entry?",
"submittedBy": "Submitted by",
"sectionTitle": "Feedback"
},
"shell": {
"overview": "Overview",
"sectionsNav": "Admin sections"
},
"section": {
"system-status": {
"title": "System Status",
"subtitle": "Worker, database, and integration health at a glance."
},
"general": {
"title": "General",
"subtitle": "Registration, default language, and other app-wide toggles."
},
"services": {
"title": "Services",
"subtitle": "Enable or disable notification channels system-wide."
},
"integrations": {
"title": "Integrations",
"subtitle": "Configure Umami, GlitchTip, Web Push, and bug reports."
},
"feedback": {
"title": "Feedback",
"subtitle": "Triage user-submitted feedback and bug reports."
},
"reminders": {
"title": "Reminders",
"subtitle": "Tune medication reminder thresholds and run a manual check."
},
"users": {
"title": "Users",
"subtitle": "Manage user accounts, roles, and active sessions.",
"filter": {
"all": "All",
"admin": "Admins",
"user": "Users"
},
"forceLogout": "Force logout",
"forceLogoutConfirmTitle": "Force logout {name}?",
"forceLogoutConfirmBody": "All active sessions for this user will be revoked. They will need to sign in again on every device.",
"forceLogoutSuccess": "Logged {name} out of {count} session(s)",
"forceLogoutFailed": "Failed to force logout",
"cannotLogoutSelf": "Cannot force-logout yourself"
},
"api-tokens": {
"title": "API Tokens",
"subtitle": "Active bearer tokens issued to native clients and integrations."
},
"login-overview": {
"title": "Login Overview",
"subtitle": "Audit trail of authentication and admin events."
},
"backups": {
"title": "Backups",
"subtitle": "Weekly per-user data snapshots stored in PostgreSQL.",
"description": "Each user gets one rolling snapshot per backup type. Sizes show the encrypted blob — payloads are not downloadable from this page.",
"runNow": "Backup now",
"runEnqueued": "Backup job enqueued",
"runFailed": "Failed to enqueue backup",
"loading": "Loading backups...",
"loadError": "Failed to load backups.",
"empty": "No backups recorded yet.",
"colUser": "User",
"colType": "Type",
"colSize": "Size",
"colCreatedAt": "Last snapshot",
"retentionLabel": "Retention: {days} days"
},
"danger-zone": {
"title": "Danger Zone",
"subtitle": "Destructive system-wide operations."
}
}
},
"achievements": {