diff --git a/messages/de-DE.json b/messages/de-DE.json index 663a0789b..c7d11471b 100644 --- a/messages/de-DE.json +++ b/messages/de-DE.json @@ -208,11 +208,33 @@ "resourcesSearch": "Suche Ressourcen...", "resourceAdd": "Ressource hinzufügen", "resourceErrorDelte": "Fehler beim Löschen der Ressource", + "resourcePoliciesTitle": "Manage Resource Policies", + "resourcePoliciesAttachedResourcesColumnTitle": "Attached resources", + "resourcePoliciesAttachedResources": "{count} resource(s)", + "resourcePoliciesAttachedResourcesEmpty": "no resources", + "resourcePoliciesDescription": "Create and manage authentication policies to control access to your resources", + "resourcePoliciesSearch": "Search policies...", + "resourcePoliciesAdd": "Add Policy", + "resourcePoliciesDefaultBadgeText": "Default policy", + "resourcePoliciesCreate": "Create Resource Policy", + "resourcePoliciesCreateDescription": "Follow the steps below to create a new policy", + "resourcePolicyName": "Policy Name", + "resourcePolicyNameDescription": "Give this policy a name to identify it across your resources", + "resourcePolicyNamePlaceholder": "e.g. Internal Access Policy", + "resourcePoliciesSeeAll": "See All Policies", + "resourcePolicyAuthMethodAdd": "Add Authentication Method", + "resourcePolicyOtpEmailAdd": "Add OTP emails", + "resourcePolicyRulesAdd": "Add Rules", + "resourcePolicyAuthMethodsDescription": "Allow access to resources via additional auth methods", + "resourcePolicyUsersRolesDescription": "Configure which users and roles can visit associated resources", + "rulesResourcePolicyDescription": "Configure rules to control access resources associated to this policy", "authentication": "Authentifizierung", "protected": "Geschützt", "notProtected": "Nicht geschützt", "resourceMessageRemove": "Einmal entfernt, wird die Ressource nicht mehr zugänglich sein. Alle mit der Ressource verbundenen Ziele werden ebenfalls entfernt.", "resourceQuestionRemove": "Sind Sie sicher, dass Sie die Ressource aus der Organisation entfernen möchten?", + "resourcePolicyMessageRemove": "Once removed, the resource policy will no longer be accessible. All resources associated with the resource will be unlinked and left without authentication.", + "resourcePolicyQuestionRemove": "Are you sure you want to remove the resource policy from the organization?", "resourceHTTP": "HTTPS-Ressource", "resourceHTTPDescription": "Proxy-Anfragen über HTTPS mit einem voll qualifizierten Domain-Namen.", "resourceRaw": "Direkte TCP/UDP Ressource (raw)", @@ -220,8 +242,9 @@ "resourceRawDescriptionCloud": "Proxy-Anfragen über rohe TCP/UDP mit Portnummer. Benötigt Sites, um sich mit einem entfernten Knoten zu verbinden.", "resourceCreate": "Ressource erstellen", "resourceCreateDescription": "Folgen Sie den Schritten unten, um eine neue Ressource zu erstellen", + "resourceCreateGeneralDescription": "Configure the basic resource settings including the name and the type", "resourceSeeAll": "Alle Ressourcen anzeigen", - "resourceInfo": "Ressourcen-Informationen", + "resourceCreateGeneral": "General", "resourceNameDescription": "Dies ist der Anzeigename für die Ressource.", "siteSelect": "Standort auswählen", "siteSearch": "Standorte durchsuchen", @@ -231,12 +254,15 @@ "noCountryFound": "Kein Land gefunden.", "siteSelectionDescription": "Dieser Standort wird die Verbindung zum Ziel herstellen.", "resourceType": "Ressourcentyp", - "resourceTypeDescription": "Legen Sie fest, wie Sie auf die Ressource zugreifen", + "resourceTypeDescription": "This controls the resource protocol and how it will be rendered in the browser. This can’t be changed later.", + "resourceDomainDescription": "The resource will be served at this fully qualified domain name.", "resourceHTTPSSettings": "HTTPS-Einstellungen", "resourceHTTPSSettingsDescription": "Konfigurieren Sie den Zugriff auf die Ressource über HTTPS", + "resourcePortDescription": "The external port on the Pangolin instance or node where the resource will be accessible.", "domainType": "Domain-Typ", "subdomain": "Subdomain", "baseDomain": "Basis-Domain", + "configure": "Configure", "subdomnainDescription": "Die Subdomäne, auf die die Ressource zugegriffen werden soll.", "resourceRawSettings": "TCP/UDP Einstellungen", "resourceRawSettingsDescription": "Konfigurieren, wie auf die Ressource über TCP/UDP zugegriffen wird", @@ -253,8 +279,27 @@ "resourceLearnRaw": "Lernen Sie, wie Sie TCP/UDP Ressourcen konfigurieren", "resourceBack": "Zurück zu den Ressourcen", "resourceGoTo": "Zu Ressource gehen", + "resourcePolicyDelete": "Delete Resource Policy", + "resourcePolicyDeleteConfirm": "Confirm Delete Resource Policy", "resourceDelete": "Ressource löschen", "resourceDeleteConfirm": "Ressource löschen bestätigen", + "labelDelete": "Delete Label", + "labelAdd": "Add Label", + "labelCreateSuccessMessage": "Label Created Successfully", + "labelEditSuccessMessage": "Label Modified Successfully", + "labelNameField": "Label Name", + "labelColorField": "Label Color", + "labelPlaceholder": "Ex: homelab", + "labelCreate": "Create Label", + "createLabelDialogTitle": "Create Label", + "createLabelDialogDescription": "Create a new label that can be attached to this organization", + "labelEdit": "Edit Label", + "editLabelDialogTitle": "Update Label", + "editLabelDialogDescription": "Edit a new label that can be attached to this organization", + "labelDeleteConfirm": "Confirm Delete Label", + "labelErrorDelete": "Failed to delete label", + "labelMessageRemove": "This action is permanent. All sites, resources, and clients tagged with this label will be untagged.", + "labelQuestionRemove": "Are you sure you want to remove the label from the organization?", "visibility": "Sichtbarkeit", "enabled": "Aktiviert", "disabled": "Deaktiviert", @@ -265,6 +310,8 @@ "rules": "Regeln", "resourceSettingDescription": "Einstellungen für die Ressource konfigurieren", "resourceSetting": "{resourceName} Einstellungen", + "resourcePolicySettingDescription": "Configure the settings on the resource policy", + "resourcePolicySetting": "{policyName} Settings", "alwaysAllow": "Authentifizierung umgehen", "alwaysDeny": "Zugriff blockieren", "passToAuth": "Weiterleiten zur Authentifizierung", @@ -630,7 +677,7 @@ "createdAt": "Erstellt am", "proxyErrorInvalidHeader": "Ungültiger benutzerdefinierter Host-Header-Wert. Verwenden Sie das Domain-Namensformat oder speichern Sie leer, um den benutzerdefinierten Host-Header zu deaktivieren.", "proxyErrorTls": "Ungültiger TLS-Servername. Verwenden Sie das Domain-Namensformat oder speichern Sie leer, um den TLS-Servernamen zu entfernen.", - "proxyEnableSSL": "TLS aktivieren", + "proxyEnableSSL": "Enable TLS", "proxyEnableSSLDescription": "Aktiviere SSL/TLS-Verschlüsselung für sichere HTTPS-Verbindungen zu den Zielen.", "target": "Ziel", "configureTarget": "Ziele konfigurieren", @@ -747,6 +794,16 @@ "rulesNoOne": "Keine Regeln. Fügen Sie eine Regel über das Formular hinzu.", "rulesOrder": "Regeln werden nach aufsteigender Priorität ausgewertet.", "rulesSubmit": "Regeln speichern", + "policyErrorCreate": "Error creating policy", + "policyErrorCreateDescription": "An error occurred when creating the policy", + "policyErrorCreateMessageDescription": "An unexpected error occurred", + "policyErrorUpdate": "Error updating policy", + "policyErrorUpdateDescription": "An error occurred when updating the policy", + "policyErrorUpdateMessageDescription": "An unexpected error occurred", + "policyCreatedSuccess": "Resource policy succesfully created", + "policyUpdatedSuccess": "Resource policy succesfully updated", + "authMethodsSave": "Save auth methods", + "rulesSave": "Save Rules", "resourceErrorCreate": "Fehler beim Erstellen der Ressource", "resourceErrorCreateDescription": "Beim Erstellen der Ressource ist ein Fehler aufgetreten", "resourceErrorCreateMessage": "Fehler beim Erstellen der Ressource:", @@ -810,6 +867,16 @@ "pincodeAdd": "PIN-Code hinzufügen", "pincodeRemove": "PIN-Code entfernen", "resourceAuthMethods": "Authentifizierungsmethoden", + "resourcePolicyAuthMethodsEmpty": "No authentication method", + "resourcePolicyOtpEmpty": "No one time password", + "resourcePolicyReadOnly": "This policy is Read only", + "resourcePolicyReadOnlyDescription": "This resource policy is shared accross multiple resources, you cannot edit it on this page.", + "resourcePolicyTypeSave": "Save Resource type", + "resourcePolicySelect": "Select resource policy", + "resourcePolicySelectError": "Select a resource policy", + "resourcePolicyNotFound": "Policy not found", + "resourcePolicySearch": "Search policies", + "resourcePolicyRulesEmpty": "No authentication rules", "resourceAuthMethodsDescriptions": "Ermöglichen Sie den Zugriff auf die Ressource über zusätzliche Authentifizierungsmethoden", "resourceAuthSettingsSave": "Erfolgreich gespeichert", "resourceAuthSettingsSaveDescription": "Authentifizierungseinstellungen wurden gespeichert", @@ -845,6 +912,12 @@ "resourcePincodeSetupTitle": "PIN-Code festlegen", "resourcePincodeSetupTitleDescription": "Legen Sie einen PIN-Code fest, um diese Ressource zu schützen", "resourceRoleDescription": "Administratoren haben immer Zugriff auf diese Ressource.", + "resourcePolicySelectTitle": "Resource Access Policy", + "resourcePolicySelectDescription": "Select the resource policy type for authentication", + "resourcePolicyInline": "Inline Resource Policy", + "resourcePolicyInlineDescription": "Access Policy scoped to only this resource", + "resourcePolicyShared": "Shared Resource Policy", + "resourcePolicySharedDescription": "Access Policy shared accross multiple resources", "resourceUsersRoles": "Zugriffskontrolle", "resourceUsersRolesDescription": "Konfigurieren Sie, welche Benutzer und Rollen diese Ressource besuchen können", "resourceUsersRolesSubmit": "Zugriffskontrollen speichern", @@ -1140,6 +1213,18 @@ "idpErrorConnectingTo": "Es gab ein Problem bei der Verbindung zu {name}. Bitte kontaktieren Sie Ihren Administrator.", "idpErrorNotFound": "IdP nicht gefunden", "inviteInvalid": "Ungültige Einladung", + "labels": "Labels", + "orgLabelsDescription": "Manage labels in this organization.", + "addLabels": "Add labels", + "siteLabelsTab": "Labels", + "siteLabelsDescription": "Manage labels associated with this site.", + "labelsNotFound": "Labels not found", + "labelSearch": "Search labels", + "accessLabelFilterCount": "{count, plural, one {# label} other {# labels}}", + "labelOverflowCount": "+{count, plural, one {# label} other {# labels}}", + "accessLabelFilterClear": "Clear label filters", + "selectColor": "Select color", + "createNewLabel": "Create new org label \"{label}\"", "inviteInvalidDescription": "Der Einladungslink ist ungültig.", "inviteErrorWrongUser": "Einladung ist nicht für diesen Benutzer", "inviteErrorUserNotExists": "Benutzer existiert nicht. Bitte erstelle zuerst ein Konto.", @@ -1374,6 +1459,8 @@ "sidebarResources": "Ressourcen", "sidebarProxyResources": "Öffentlich", "sidebarClientResources": "Privat", + "sidebarPolicies": "Policies", + "sidebarResourcePolicies": "Resources", "sidebarAccessControl": "Zugriffskontrolle", "sidebarLogsAndAnalytics": "Protokolle & Analysen", "sidebarTeam": "Team", @@ -1557,7 +1644,8 @@ "standaloneHcFilterSiteIdFallback": "Standort {id}", "standaloneHcFilterResourceIdFallback": "Ressource {id}", "blueprints": "Blaupausen", - "blueprintsDescription": "Deklarative Konfigurationen anwenden und vorherige Abläufe anzeigen", + "blueprintsLog": "Blueprints Log", + "blueprintsDescription": "View past blueprint applications and their results", "blueprintAdd": "Blueprint hinzufügen", "blueprintGoBack": "Alle Blueprints ansehen", "blueprintCreate": "Blueprint erstellen", @@ -1575,7 +1663,17 @@ "contents": "Inhalt", "parsedContents": "Analysierte Inhalte (Nur lesen)", "enableDockerSocket": "Docker Blueprint aktivieren", - "enableDockerSocketDescription": "Aktiviere Docker-Socket-Label-Scraping für Blueprintbeschriftungen. Der Socket-Pfad muss neu angegeben werden.", + "enableDockerSocketDescription": "Enable Docker Socket label scraping for blueprint labels. Socket path must be provided to the site connector. Read about how this works in the documentation.", + "newtAutoUpdate": "Enable Site Auto-Update", + "newtAutoUpdateDescription": "When enabled, site connectors will automatically update to the latest version when a new release is available.", + "siteAutoUpdate": "Site Auto-Update", + "siteAutoUpdateLabel": "Enable Auto-Update", + "siteAutoUpdateDescription": "Control whether this site's connector automatically downloads the latest version.", + "siteAutoUpdateOrgDefault": "Organization default: {state}", + "siteAutoUpdateOverriding": "Overriding organization setting", + "siteAutoUpdateResetToOrg": "Reset to Organization Default", + "siteAutoUpdateEnabled": "enabled", + "siteAutoUpdateDisabled": "disabled", "viewDockerContainers": "Docker Container anzeigen", "containersIn": "Container in {siteName}", "selectContainerDescription": "Wählen Sie einen Container, der als Hostname für dieses Ziel verwendet werden soll. Klicken Sie auf einen Port, um einen Port zu verwenden.", @@ -1620,6 +1718,7 @@ "certificateStatus": "Zertifikat", "certificateStatusAutoRefreshHint": "Der Status wird automatisch aktualisiert.", "loading": "Laden", + "loadingEllipsis": "Loading...", "loadingAnalytics": "Analytik wird geladen", "restart": "Neustart", "domains": "Domänen", @@ -1846,6 +1945,7 @@ "billingManageLicenseSubscription": "Verwalten Sie Ihr Abonnement für kostenpflichtige selbstgehostete Lizenzschlüssel", "billingCurrentKeys": "Aktuelle Tasten", "billingModifyCurrentPlan": "Aktuelles Paket ändern", + "billingManageLicenseSubscriptionDescription": "Manage your subscription for paid self-hosted license keys and download invoices.", "billingConfirmUpgrade": "Upgrade bestätigen", "billingConfirmDowngrade": "Downgrade bestätigen", "billingConfirmUpgradeDescription": "Sie sind dabei, Ihr Paket zu aktualisieren. Schauen Sie sich die neuen Limits und Preise unten an.", @@ -1943,7 +2043,36 @@ "timeIsInSeconds": "Zeit ist in Sekunden", "requireDeviceApproval": "Gerätegenehmigungen erforderlich", "requireDeviceApprovalDescription": "Benutzer mit dieser Rolle benötigen neue Geräte, die von einem Administrator genehmigt wurden, bevor sie sich verbinden und auf Ressourcen zugreifen können.", - "sshAccess": "SSH-Zugriff", + "sshSettings": "SSH Settings", + "rdpSettings": "RDP Settings", + "vncSettings": "VNC Settings", + "sshServer": "SSH Server", + "rdpServer": "RDP Server", + "vncServer": "VNC Server", + "sshServerDescription": "Set up the authentication method, daemon location, and server destination", + "rdpServerDescription": "Configure the destination and port of the RDP server", + "vncServerDescription": "Configure the destination and port of the VNC server", + "sshServerMode": "Mode", + "sshServerModeStandard": "Standard SSH Server", + "sshServerModePangolin": "Pangolin SSH", + "sshServerModeStandardDescription": "Routes commands over network to an SSH server such as OpenSSH.", + "sshServerModeNative": "Native SSH Server", + "sshServerModeNativeDescription": "Executes commands directly on the host via the Site Connector. No network config required.", + "sshAuthenticationMethod": "Authentication Method", + "sshAuthMethodManual": "Manual Authentication", + "sshAuthMethodManualDescription": "Requires existing host credentials. Bypasses automatic provisioning.", + "sshAuthMethodAutomated": "Automated Provisioning", + "sshAuthMethodAutomatedDescription": "Automatically creates users, groups, and sudo permissions on host.", + "sshAuthDaemonLocation": "Auth Daemon Location", + "sshDaemonLocationSiteDescription": "Executes locally on the machine hosting the site connector.", + "sshDaemonLocationRemote": "On Remote Host", + "sshDaemonLocationRemoteDescription": "Executes on a separate target machine on the same network.", + "sshDaemonDisclaimer": "Ensure your target host is properly configured to run the auth daemon before completing this setup, or provisioning will fail.", + "sshDaemonPort": "Daemon Port", + "sshServerDestination": "Server Destination", + "sshServerDestinationDescription": "Configure the destination and port of the SSH server", + "destination": "Destination", + "bgTargetMultiSiteDisclaimer": "Selecting multiple sites enables resilient routing and failover for high availability.", "roleAllowSsh": "SSH erlauben", "roleAllowSshAllow": "Erlauben", "roleAllowSshDisallow": "Nicht zulassen", @@ -1957,7 +2086,7 @@ "sshSudoModeCommandsDescription": "Benutzer kann nur die angegebenen Befehle mit sudo ausführen.", "sshSudo": "sudo erlauben", "sshSudoCommands": "Sudo-Befehle", - "sshSudoCommandsDescription": "Kommagetrennte Liste von Befehlen, die der Benutzer mit sudo ausführen darf.", + "sshSudoCommandsDescription": "Comma separated list of commands the user is allowed to run with sudo. Absolute paths must be used.", "sshCreateHomeDir": "Home-Verzeichnis erstellen", "sshUnixGroups": "Unix-Gruppen", "sshUnixGroupsDescription": "Durch Komma getrennte Unix-Gruppen, um den Benutzer auf dem Zielhost hinzuzufügen.", @@ -2051,7 +2180,7 @@ "editInternalResourceDialogModeHttps": "HTTPS", "editInternalResourceDialogModeSsh": "SSH", "editInternalResourceDialogScheme": "Schema", - "editInternalResourceDialogEnableSsl": "TLS aktivieren", + "editInternalResourceDialogEnableSsl": "Enable TLS", "editInternalResourceDialogEnableSslDescription": "SSL/TLS-Verschlüsselung für sichere HTTPS-Verbindungen zum Ziel aktivieren.", "editInternalResourceDialogDestination": "Ziel", "editInternalResourceDialogDestinationHostDescription": "Die IP-Adresse oder der Hostname der Ressource im Netzwerk der Website.", @@ -2102,7 +2231,7 @@ "createInternalResourceDialogModeSsh": "SSH", "scheme": "Schema", "createInternalResourceDialogScheme": "Schema", - "createInternalResourceDialogEnableSsl": "TLS aktivieren", + "createInternalResourceDialogEnableSsl": "Enable TLS", "createInternalResourceDialogEnableSslDescription": "SSL/TLS-Verschlüsselung für sichere HTTPS-Verbindungen zum Ziel aktivieren.", "createInternalResourceDialogDestination": "Ziel", "createInternalResourceDialogDestinationHostDescription": "Die IP-Adresse oder der Hostname der Ressource im Netzwerk der Website.", @@ -2235,7 +2364,7 @@ "description": "Zuverlässiger und wartungsarmer Pangolin Server mit zusätzlichen Glocken und Pfeifen", "introTitle": "Verwalteter selbstgehosteter Pangolin", "introDescription": "ist eine Deployment-Option, die für Personen konzipiert wurde, die Einfachheit und zusätzliche Zuverlässigkeit wünschen, während sie ihre Daten privat und selbstgehostet halten.", - "introDetail": "Mit dieser Option haben Sie immer noch Ihren eigenen Pangolin-Knoten – Ihre Tunnel, TLS-Terminierung und Traffic bleiben auf Ihrem Server. Der Unterschied besteht darin, dass Verwaltung und Überwachung über unser Cloud-Dashboard abgewickelt werden, das eine Reihe von Vorteilen freischaltet:", + "introDetail": "With this option, you still run your own Pangolin node - your tunnels, TLS termination, and traffic all stay on your server. The difference is that management and monitoring are handled through our cloud dashboard, which unlocks a number of benefits:", "benefitSimplerOperations": { "title": "Einfachere Operationen", "description": "Sie brauchen keinen eigenen Mail-Server auszuführen oder komplexe Warnungen einzurichten. Sie erhalten Gesundheitschecks und Ausfallwarnungen aus dem Box." @@ -2939,7 +3068,7 @@ "learnMore": "Mehr erfahren", "backToHome": "Zurück zur Startseite", "needToSignInToOrg": "Benötigen Sie den Identitätsanbieter Ihres Unternehmens?", - "maintenanceMode": "Wartungsmodus", + "maintenanceMode": "Maintenance Page", "maintenanceModeDescription": "Eine Wartungsseite für Besucher anzeigen", "maintenanceModeType": "Art des Wartungsmodus", "showMaintenancePage": "Eine Wartungsseite für Besucher anzeigen", @@ -2969,6 +3098,7 @@ "maintenanceScreenEstimatedCompletion": "Geschätzter Abschluss:", "createInternalResourceDialogDestinationRequired": "Ziel ist erforderlich", "available": "Verfügbar", + "disabledResourceDescription": "When disabled, the resource will be inaccessible by everyone.", "archived": "Archiviert", "noArchivedDevices": "Keine archivierten Geräte gefunden", "deviceArchived": "Gerät archiviert", @@ -3298,5 +3428,6 @@ "memberPortalResourceDisabled": "Ressource deaktiviert", "memberPortalShowingResources": "Zeige {start}-{end} von {total} Ressourcen", "memberPortalPrevious": "Vorherige", - "memberPortalNext": "Nächste" + "memberPortalNext": "Nächste", + "httpSettings": "HTTP Settings" }