fix(i18n): backfill missing admin.ldap translation keys
Tessera CI/CD / Lint & Type Check (push) Successful in 50s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 2m12s

The admin.ldap message block referenced throughout the LDAP admin
page (t('title'), t('connectionTitle'), t('serverUrl'), field-mapping
and sync labels, etc.) didn't exist in de.json/en.json at all, so the
whole page rendered raw translation keys instead of text -- a
pre-existing gap surfaced while testing the new AD-prefill/group-filter
feature on this same page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 09:59:33 +02:00
parent bcbb94500d
commit 6d2f82d018
2 changed files with 62 additions and 0 deletions
+31
View File
@@ -280,7 +280,38 @@
"cannotDeleteActive": "Mandanten mit aktiven Benutzern koennen nicht geloescht werden" "cannotDeleteActive": "Mandanten mit aktiven Benutzern koennen nicht geloescht werden"
}, },
"ldap": { "ldap": {
"title": "LDAP-Konfiguration",
"connectionTitle": "Verbindungseinstellungen",
"serverUrl": "Server-URL",
"baseDn": "Basis-DN",
"bindDn": "Bind-DN",
"bindPassword": "Bind-Passwort",
"searchFilter": "Suchfilter",
"save": "Speichern",
"testConnection": "Verbindung testen",
"testSuccess": "Verbindung erfolgreich",
"testFailed": "Verbindung fehlgeschlagen",
"enable": "Aktiviert",
"disable": "Deaktiviert",
"bindDnHint": "AD-Format: Domaene\\Benutzername (z.B. ctl\\serviceaccount), keine DN-Schreibweise.", "bindDnHint": "AD-Format: Domaene\\Benutzername (z.B. ctl\\serviceaccount), keine DN-Schreibweise.",
"fieldMapping": {
"title": "Feld-Zuordnung",
"add": "Zuordnung hinzufuegen",
"ldapField": "LDAP-Feld",
"tesseraField": "Tessera-Feld",
"default": "Standard",
"remove": "Entfernen"
},
"sync": {
"title": "Synchronisation",
"interval": "Sync-Intervall",
"intervalDisabled": "deaktiviert",
"lastSync": "Letzte Synchronisation",
"neverSynced": "Noch nie synchronisiert",
"trigger": "Jetzt synchronisieren",
"syncing": "Synchronisiere...",
"result": "Erstellt: {created}, aktualisiert: {updated}, deaktiviert: {deactivated}"
},
"groupFilter": { "groupFilter": {
"title": "Import-Filter (Gruppen/OUs)", "title": "Import-Filter (Gruppen/OUs)",
"description": "Beschraenkt den Sync auf ausgewaehlte AD-Gruppen oder Organisationseinheiten. Ohne Auswahl werden alle Benutzer unter der Basis-DN importiert.", "description": "Beschraenkt den Sync auf ausgewaehlte AD-Gruppen oder Organisationseinheiten. Ohne Auswahl werden alle Benutzer unter der Basis-DN importiert.",
+31
View File
@@ -280,7 +280,38 @@
"cannotDeleteActive": "Cannot delete tenants with active users" "cannotDeleteActive": "Cannot delete tenants with active users"
}, },
"ldap": { "ldap": {
"title": "LDAP configuration",
"connectionTitle": "Connection settings",
"serverUrl": "Server URL",
"baseDn": "Base DN",
"bindDn": "Bind DN",
"bindPassword": "Bind password",
"searchFilter": "Search filter",
"save": "Save",
"testConnection": "Test connection",
"testSuccess": "Connection successful",
"testFailed": "Connection failed",
"enable": "Enabled",
"disable": "Disabled",
"bindDnHint": "AD format: domain\\username (e.g. ctl\\serviceaccount), not DN notation.", "bindDnHint": "AD format: domain\\username (e.g. ctl\\serviceaccount), not DN notation.",
"fieldMapping": {
"title": "Field mapping",
"add": "Add mapping",
"ldapField": "LDAP field",
"tesseraField": "Tessera field",
"default": "Default",
"remove": "Remove"
},
"sync": {
"title": "Synchronization",
"interval": "Sync interval",
"intervalDisabled": "disabled",
"lastSync": "Last sync",
"neverSynced": "Never synced",
"trigger": "Sync now",
"syncing": "Syncing...",
"result": "Created: {created}, updated: {updated}, deactivated: {deactivated}"
},
"groupFilter": { "groupFilter": {
"title": "Import filter (groups/OUs)", "title": "Import filter (groups/OUs)",
"description": "Restrict sync to selected AD groups or organizational units. With no selection, every user under the base DN is imported.", "description": "Restrict sync to selected AD groups or organizational units. With no selection, every user under the base DN is imported.",