From 6d2f82d018f0abf61b43a4682fd303868ec7497a Mon Sep 17 00:00:00 2001 From: Schalli Date: Tue, 7 Jul 2026 09:59:33 +0200 Subject: [PATCH] fix(i18n): backfill missing admin.ldap translation keys 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 --- apps/web/src/messages/de.json | 31 +++++++++++++++++++++++++++++++ apps/web/src/messages/en.json | 31 +++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/apps/web/src/messages/de.json b/apps/web/src/messages/de.json index 1dc0af9..ba68575 100644 --- a/apps/web/src/messages/de.json +++ b/apps/web/src/messages/de.json @@ -280,7 +280,38 @@ "cannotDeleteActive": "Mandanten mit aktiven Benutzern koennen nicht geloescht werden" }, "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.", + "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": { "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.", diff --git a/apps/web/src/messages/en.json b/apps/web/src/messages/en.json index 9170d23..01d9155 100644 --- a/apps/web/src/messages/en.json +++ b/apps/web/src/messages/en.json @@ -280,7 +280,38 @@ "cannotDeleteActive": "Cannot delete tenants with active users" }, "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.", + "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": { "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.",