diff --git a/messages/de-DE.json b/messages/de-DE.json
index 2df66b7f7..59e01d0e2 100644
--- a/messages/de-DE.json
+++ b/messages/de-DE.json
@@ -328,6 +328,41 @@
"apiKeysDelete": "API-Schlüssel löschen",
"apiKeysManage": "API-Schlüssel verwalten",
"apiKeysDescription": "API-Schlüssel werden zur Authentifizierung mit der Integrations-API verwendet",
+ "provisioningKeysTitle": "Provisioning Key",
+ "provisioningKeysManage": "Manage Provisioning Keys",
+ "provisioningKeysDescription": "Provisioning keys are used to authenticate automated site provisioning for your organization.",
+ "provisioningKeys": "Provisioning Keys",
+ "searchProvisioningKeys": "Search provisioning keys...",
+ "provisioningKeysAdd": "Generate Provisioning Key",
+ "provisioningKeysErrorDelete": "Error deleting provisioning key",
+ "provisioningKeysErrorDeleteMessage": "Error deleting provisioning key",
+ "provisioningKeysQuestionRemove": "Are you sure you want to remove this provisioning key from the organization?",
+ "provisioningKeysMessageRemove": "Once removed, the key can no longer be used for site provisioning.",
+ "provisioningKeysDeleteConfirm": "Confirm Delete Provisioning Key",
+ "provisioningKeysDelete": "Delete Provisioning key",
+ "provisioningKeysCreate": "Generate Provisioning Key",
+ "provisioningKeysCreateDescription": "Generate a new provisioning key for the organization",
+ "provisioningKeysSeeAll": "See all provisioning keys",
+ "provisioningKeysSave": "Save the provisioning key",
+ "provisioningKeysSaveDescription": "You will only be able to see this once. Copy it to a secure place.",
+ "provisioningKeysErrorCreate": "Error creating provisioning key",
+ "provisioningKeysList": "New provisioning key",
+ "provisioningKeysMaxBatchSize": "Max batch size",
+ "provisioningKeysUnlimitedBatchSize": "Unlimited batch size (no limit)",
+ "provisioningKeysMaxBatchUnlimited": "Unlimited",
+ "provisioningKeysMaxBatchSizeInvalid": "Enter a valid max batch size (1–1,000,000).",
+ "provisioningKeysValidUntil": "Valid until",
+ "provisioningKeysValidUntilHint": "Leave empty for no expiration.",
+ "provisioningKeysValidUntilInvalid": "Enter a valid date and time.",
+ "provisioningKeysNumUsed": "Times used",
+ "provisioningKeysLastUsed": "Last used",
+ "provisioningKeysNoExpiry": "No expiration",
+ "provisioningKeysNeverUsed": "Never",
+ "provisioningKeysEdit": "Edit Provisioning Key",
+ "provisioningKeysEditDescription": "Update the max batch size and expiration time for this key.",
+ "provisioningKeysUpdateError": "Error updating provisioning key",
+ "provisioningKeysUpdated": "Provisioning key updated",
+ "provisioningKeysUpdatedDescription": "Your changes have been saved.",
"apiKeysSettings": "{apiKeyName} Einstellungen",
"userTitle": "Alle Benutzer verwalten",
"userDescription": "Alle Benutzer im System anzeigen und verwalten",
@@ -514,9 +549,12 @@
"userSaved": "Benutzer gespeichert",
"userSavedDescription": "Der Benutzer wurde aktualisiert.",
"autoProvisioned": "Automatisch bereitgestellt",
+ "autoProvisionSettings": "Auto Provision Settings",
"autoProvisionedDescription": "Erlaube diesem Benutzer die automatische Verwaltung durch Identitätsanbieter",
"accessControlsDescription": "Verwalten Sie, worauf dieser Benutzer in der Organisation zugreifen und was er tun kann",
"accessControlsSubmit": "Zugriffskontrollen speichern",
+ "singleRolePerUserPlanNotice": "Your plan only supports one role per user.",
+ "singleRolePerUserEditionNotice": "This edition only supports one role per user.",
"roles": "Rollen",
"accessUsersRoles": "Benutzer & Rollen verwalten",
"accessUsersRolesDescription": "Lade Benutzer ein und füge sie zu Rollen hinzu, um den Zugriff auf die Organisation zu verwalten",
@@ -892,7 +930,7 @@
"defaultMappingsRole": "Standard-Rollenzuordnung",
"defaultMappingsRoleDescription": "JMESPath zur Extraktion von Rolleninformationen aus dem ID-Token. Das Ergebnis dieses Ausdrucks muss den Rollennamen als String zurückgeben, wie er in der Organisation definiert ist.",
"defaultMappingsOrg": "Standard-Organisationszuordnung",
- "defaultMappingsOrgDescription": "JMESPath zur Extraktion von Organisationsinformationen aus dem ID-Token. Dieser Ausdruck muss die Organisations-ID oder true zurückgeben, damit der Benutzer Zugriff auf die Organisation erhält.",
+ "defaultMappingsOrgDescription": "When set, this expression must return the organization ID or true for the user to access that organization. When unset, defining an organization policy for that org is enough: the user is allowed in as long as a valid role mapping can be resolved for them within the organization.",
"defaultMappingsSubmit": "Standardzuordnungen speichern",
"orgPoliciesEdit": "Organisationsrichtlinie bearbeiten",
"org": "Organisation",
@@ -1154,6 +1192,7 @@
"actionRemoveUser": "Benutzer entfernen",
"actionListUsers": "Benutzer auflisten",
"actionAddUserRole": "Benutzerrolle hinzufügen",
+ "actionSetUserOrgRoles": "Set User Roles",
"actionGenerateAccessToken": "Zugriffstoken generieren",
"actionDeleteAccessToken": "Zugriffstoken löschen",
"actionListAccessTokens": "Zugriffstoken auflisten",
@@ -1270,6 +1309,7 @@
"sidebarRoles": "Rollen",
"sidebarShareableLinks": "Links",
"sidebarApiKeys": "API-Schlüssel",
+ "sidebarProvisioning": "Provisioning",
"sidebarSettings": "Einstellungen",
"sidebarAllUsers": "Alle Benutzer",
"sidebarIdentityProviders": "Identitätsanbieter",
@@ -1943,6 +1983,25 @@
"invalidValue": "Ungültiger Wert",
"idpTypeLabel": "Identitätsanbietertyp",
"roleMappingExpressionPlaceholder": "z. B. enthalten(Gruppen, 'admin') && 'Admin' || 'Mitglied'",
+ "roleMappingModeFixedRoles": "Fixed Roles",
+ "roleMappingModeMappingBuilder": "Mapping Builder",
+ "roleMappingModeRawExpression": "Raw Expression",
+ "roleMappingFixedRolesPlaceholderSelect": "Select one or more roles",
+ "roleMappingFixedRolesPlaceholderFreeform": "Type role names (exact match per organization)",
+ "roleMappingFixedRolesDescriptionSameForAll": "Assign the same role set to every auto-provisioned user.",
+ "roleMappingFixedRolesDescriptionDefaultPolicy": "For default policies, type role names that exist in each organization where users are provisioned. Names must match exactly.",
+ "roleMappingClaimPath": "Claim Path",
+ "roleMappingClaimPathPlaceholder": "groups",
+ "roleMappingClaimPathDescription": "Path in the token payload that contains source values (for example, groups).",
+ "roleMappingMatchValue": "Match Value",
+ "roleMappingAssignRoles": "Assign Roles",
+ "roleMappingAddMappingRule": "Add Mapping Rule",
+ "roleMappingRawExpressionResultDescription": "Expression must evaluate to a string or string array.",
+ "roleMappingRawExpressionResultDescriptionSingleRole": "Expression must evaluate to a string (a single role name).",
+ "roleMappingMatchValuePlaceholder": "Match value (for example: admin)",
+ "roleMappingAssignRolesPlaceholderFreeform": "Type role names (exact per org)",
+ "roleMappingBuilderFreeformRowHint": "Role names must match a role in each target organization.",
+ "roleMappingRemoveRule": "Remove",
"idpGoogleConfiguration": "Google-Konfiguration",
"idpGoogleConfigurationDescription": "Google OAuth2 Zugangsdaten konfigurieren",
"idpGoogleClientIdDescription": "Google OAuth2 Client ID",
@@ -2349,6 +2408,12 @@
"logRetentionEndOfFollowingYear": "Ende des folgenden Jahres",
"actionLogsDescription": "Verlauf der in dieser Organisation durchgeführten Aktionen anzeigen",
"accessLogsDescription": "Zugriffsauth-Anfragen für Ressourcen in dieser Organisation anzeigen",
+ "connectionLogs": "Connection Logs",
+ "connectionLogsDescription": "View connection logs for tunnels in this organization",
+ "sidebarLogsConnection": "Connection Logs",
+ "sourceAddress": "Source Address",
+ "destinationAddress": "Destination Address",
+ "duration": "Duration",
"licenseRequiredToUse": "Eine Enterprise Edition Lizenz oder Pangolin Cloud wird benötigt, um diese Funktion nutzen zu können. Buchen Sie eine Demo oder POC Testversion.",
"ossEnterpriseEditionRequired": "Die Enterprise Edition wird benötigt, um diese Funktion nutzen zu können. Diese Funktion ist auch in Pangolin Cloudverfügbar. Buchen Sie eine Demo oder POC Testversion.",
"certResolver": "Zertifikatsauflöser",
@@ -2688,5 +2753,6 @@
"approvalsEmptyStateStep2Description": "Bearbeite eine Rolle und aktiviere die Option 'Gerätegenehmigung erforderlich'. Benutzer mit dieser Rolle benötigen Administrator-Genehmigung für neue Geräte.",
"approvalsEmptyStatePreviewDescription": "Vorschau: Wenn aktiviert, werden ausstehende Geräteanfragen hier zur Überprüfung angezeigt",
"approvalsEmptyStateButtonText": "Rollen verwalten",
- "domainErrorTitle": "Wir haben Probleme mit der Überprüfung deiner Domain"
+ "domainErrorTitle": "Wir haben Probleme mit der Überprüfung deiner Domain",
+ "idpAdminAutoProvisionPoliciesTabHint": "Configure role mapping and organization policies on the Auto Provision Settings tab."
}