373 lines
16 KiB
JSON
373 lines
16 KiB
JSON
{
|
|
"login": {
|
|
"subtitle": "Multi-Tenant Management Plattform",
|
|
"username": "Benutzername",
|
|
"password": "Passwort",
|
|
"signIn": "Anmelden",
|
|
"signInWithMicrosoft": "Mit Microsoft anmelden"
|
|
},
|
|
"nav": {
|
|
"newCustomer": "Neuer Kunde",
|
|
"settings": "Einstellungen",
|
|
"monitoring": "Monitoring",
|
|
"logout": "Abmelden"
|
|
},
|
|
"dashboard": {
|
|
"totalCustomers": "Kunden gesamt",
|
|
"active": "Aktiv",
|
|
"inactive": "Inaktiv",
|
|
"errors": "Fehler",
|
|
"searchPlaceholder": "Suche nach Name, Subdomain, E-Mail...",
|
|
"allStatuses": "Alle Status",
|
|
"statusActive": "Aktiv",
|
|
"statusInactive": "Inaktiv",
|
|
"statusDeploying": "Wird bereitgestellt",
|
|
"statusError": "Fehler",
|
|
"refresh": "Aktualisieren",
|
|
"thId": "ID",
|
|
"thName": "Name",
|
|
"thSubdomain": "Subdomain",
|
|
"thStatus": "Status",
|
|
"thDashboard": "Dashboard",
|
|
"thDevices": "Geräte",
|
|
"thCreated": "Erstellt",
|
|
"thActions": "Aktionen",
|
|
"noCustomers": "Keine Kunden gefunden. Klicken Sie auf \"Neuer Kunde\" um einen anzulegen.",
|
|
"showing": "Zeige {start}-{end} von {total}",
|
|
"showingEmpty": "Zeige 0 von 0"
|
|
},
|
|
"customer": {
|
|
"back": "Zurück",
|
|
"customer": "Kunde",
|
|
"edit": "Bearbeiten",
|
|
"delete": "Löschen",
|
|
"tabInfo": "Info",
|
|
"tabDeployment": "Deployment",
|
|
"tabLogs": "Logs",
|
|
"tabHealth": "Zustand",
|
|
"name": "Name:",
|
|
"company": "Firma:",
|
|
"subdomain": "Subdomain:",
|
|
"email": "E-Mail:",
|
|
"maxDevices": "Max. Geräte:",
|
|
"status": "Status:",
|
|
"created": "Erstellt:",
|
|
"updated": "Aktualisiert:",
|
|
"notes": "Notizen:",
|
|
"deploymentStatus": "Status:",
|
|
"relayUdpPort": "Relay UDP Port:",
|
|
"dashboardPort": "Dashboard Port:",
|
|
"containerPrefix": "Container-Präfix:",
|
|
"deployed": "Bereitgestellt:",
|
|
"setupUrl": "Setup URL:",
|
|
"copy": "Kopieren",
|
|
"open": "Öffnen",
|
|
"netbirdLogin": "NetBird Login",
|
|
"notAvailable": "Nicht verfügbar",
|
|
"showCredentials": "Zugangsdaten anzeigen",
|
|
"credEmail": "E-Mail",
|
|
"credPassword": "Passwort",
|
|
"showHide": "Anzeigen/Verbergen",
|
|
"credentialsNotAvailable": "Zugangsdaten nicht verfügbar. Der Admin muss das Setup manuell über die Setup URL abschließen.",
|
|
"start": "Starten",
|
|
"stop": "Stoppen",
|
|
"restart": "Neustarten",
|
|
"reDeploy": "Neu bereitstellen",
|
|
"noDeployment": "Kein Deployment gefunden.",
|
|
"deployNow": "Jetzt bereitstellen",
|
|
"containerLogs": "Container Logs",
|
|
"noContainerLogs": "Keine Container-Logs verfügbar.",
|
|
"noLogsLoaded": "Keine Logs geladen.",
|
|
"healthCheck": "Zustandsprüfung",
|
|
"check": "Prüfen",
|
|
"clickCheck": "Klicken Sie auf \"Prüfen\" um eine Zustandsprüfung durchzuführen.",
|
|
"healthy": "Gesund",
|
|
"unhealthy": "Fehlerhaft",
|
|
"overall": "Gesamt:",
|
|
"thContainer": "Container",
|
|
"thContainerStatus": "Status",
|
|
"thHealth": "Zustand",
|
|
"thImage": "Image",
|
|
"lastCheck": "Letzte Prüfung: {time}",
|
|
"openDashboard": "Dashboard öffnen"
|
|
},
|
|
"settings": {
|
|
"title": "Systemeinstellungen",
|
|
"tabSystem": "Systemkonfiguration",
|
|
"tabNpm": "NPM Integration",
|
|
"tabImages": "Docker Images",
|
|
"tabBranding": "Branding",
|
|
"tabUsers": "Benutzer",
|
|
"tabAzure": "Azure AD",
|
|
"tabDns": "Windows DNS",
|
|
"tabLdap": "LDAP / AD",
|
|
"tabUpdate": "Updates",
|
|
"tabSecurity": "Sicherheit",
|
|
"baseDomain": "Basis-Domain",
|
|
"baseDomainPlaceholder": "ihredomain.com",
|
|
"baseDomainHint": "Kunden erhalten Subdomains: kunde.ihredomain.com",
|
|
"adminEmail": "Admin E-Mail",
|
|
"adminEmailPlaceholder": "admin@ihredomain.com",
|
|
"dataDir": "Datenverzeichnis",
|
|
"dataDirPlaceholder": "/opt/netbird-instances",
|
|
"dockerNetwork": "Docker-Netzwerk",
|
|
"dockerNetworkPlaceholder": "npm-network",
|
|
"relayBasePort": "Relay-Basisport",
|
|
"relayBasePortHint": "Erster UDP-Port für Relay. Bereich: Basis bis Basis+99",
|
|
"dashboardBasePort": "Dashboard-Basisport",
|
|
"dashboardBasePortHint": "Basisport für Kunden-Dashboards. Kunde N erhält Basis+N",
|
|
"saveSystemSettings": "Systemeinstellungen speichern",
|
|
"npmDescription": "NPM verwendet JWT-Authentifizierung. Geben Sie Ihre NPM-Zugangsdaten ein. Das System meldet sich automatisch an.",
|
|
"npmApiUrl": "NPM API URL",
|
|
"npmApiUrlPlaceholder": "http://nginx-proxy-manager:81/api",
|
|
"npmApiUrlHint": "http:// oder https:// - muss /api am Ende enthalten",
|
|
"npmLoginEmail": "NPM Login E-Mail",
|
|
"npmLoginEmailPlaceholder": "Leer lassen zum Beibehalten",
|
|
"npmLoginPassword": "NPM Login Passwort",
|
|
"npmLoginPasswordPlaceholder": "Leer lassen zum Beibehalten",
|
|
"credentialsSet": "Zugangsdaten gesetzt (leer lassen zum Beibehalten)",
|
|
"noCredentials": "Keine NPM-Zugangsdaten konfiguriert",
|
|
"saveNpmSettings": "NPM-Einstellungen speichern",
|
|
"testConnection": "Verbindung testen",
|
|
"sslModeTitle": "SSL-Zertifikat Modus",
|
|
"sslMode": "SSL-Modus",
|
|
"sslModeLetsencrypt": "Let's Encrypt (pro Kunde)",
|
|
"sslModeWildcard": "Wildcard-Zertifikat",
|
|
"sslModeHint": "Wählen Sie ob jeder Kunde ein eigenes Let's Encrypt Zertifikat oder ein geteiltes Wildcard-Zertifikat erhält.",
|
|
"wildcardCertificate": "Wildcard-Zertifikat",
|
|
"selectCertificate": "-- Zertifikat auswählen --",
|
|
"wildcardCertHint": "Wählen Sie das Wildcard-Zertifikat (z.B. *.example.com) das in NPM hochgeladen ist.",
|
|
"noWildcardCerts": "Keine Wildcard-Zertifikate in NPM gefunden.",
|
|
"certsLoaded": "{count} Wildcard-Zertifikat(e) gefunden.",
|
|
"expiresOn": "Läuft ab",
|
|
"managementImage": "Management Image",
|
|
"managementImagePlaceholder": "netbirdio/management:latest",
|
|
"signalImage": "Signal Image",
|
|
"signalImagePlaceholder": "netbirdio/signal:latest",
|
|
"relayImage": "Relay Image",
|
|
"relayImagePlaceholder": "netbirdio/relay:latest",
|
|
"dashboardImage": "Dashboard Image",
|
|
"dashboardImagePlaceholder": "netbirdio/dashboard:latest",
|
|
"saveImageSettings": "Image-Einstellungen speichern",
|
|
"brandingTitle": "Branding-Einstellungen",
|
|
"companyName": "Firmen- / Anwendungsname",
|
|
"companyNamePlaceholder": "NetBird MSP Appliance",
|
|
"companyNameHint": "Wird auf der Anmeldeseite und in der Navigationsleiste angezeigt",
|
|
"logoPreview": "Logo-Vorschau",
|
|
"defaultIcon": "Standardsymbol (kein Logo hochgeladen)",
|
|
"uploadLogo": "Logo hochladen (PNG, JPG, SVG, max. 500 KB)",
|
|
"uploadBtn": "Hochladen",
|
|
"removeLogo": "Logo entfernen",
|
|
"brandingSubtitle": "Untertitel",
|
|
"brandingSubtitlePlaceholder": "Multi-Tenant Management Plattform",
|
|
"brandingSubtitleHint": "Wird unter dem Titel auf der Anmeldeseite angezeigt",
|
|
"defaultLanguage": "Standardsprache",
|
|
"defaultLanguageHint": "Standardsprache für Benutzer ohne Präferenz",
|
|
"systemDefault": "Systemstandard",
|
|
"saveBranding": "Branding speichern",
|
|
"userManagement": "Benutzerverwaltung",
|
|
"newUser": "Neuer Benutzer",
|
|
"thId": "ID",
|
|
"thUsername": "Benutzername",
|
|
"thEmail": "E-Mail",
|
|
"thRole": "Rolle",
|
|
"thAuth": "Auth",
|
|
"thLanguage": "Sprache",
|
|
"thStatus": "Status",
|
|
"thActions": "Aktionen",
|
|
"azureTitle": "Azure AD / Entra ID Integration",
|
|
"enableAzureSso": "Azure AD SSO aktivieren",
|
|
"tenantId": "Tenant ID",
|
|
"clientId": "Client ID (Anwendungs-ID)",
|
|
"clientSecret": "Client Secret",
|
|
"clientSecretPlaceholder": "Leer lassen zum Beibehalten",
|
|
"secretSet": "Secret gesetzt (leer lassen zum Beibehalten)",
|
|
"noSecret": "Kein Client-Secret konfiguriert",
|
|
"saveAzureSettings": "Azure AD-Einstellungen speichern",
|
|
"azureGroupId": "Erlaubte Gruppen-Objekt-ID (optional)",
|
|
"azureGroupIdHint": "Falls gesetzt, können sich nur Azure AD-Mitglieder dieser Gruppe anmelden.",
|
|
"dnsTitle": "Windows DNS Integration",
|
|
"enableDns": "Windows DNS Integration aktivieren",
|
|
"dnsDescription": "Automatisch DNS A-Records erstellen/löschen beim Bereitstellen von Kunden.",
|
|
"dnsServer": "DNS-Serveradresse",
|
|
"dnsZone": "DNS-Zone",
|
|
"dnsUsername": "Benutzername (NTLM)",
|
|
"dnsPassword": "Passwort",
|
|
"dnsRecordIp": "A-Record Ziel-IP",
|
|
"dnsRecordIpHint": "IP-Adresse, auf die Kunden-A-Records zeigen (normalerweise die NPM-Server-IP).",
|
|
"saveDnsSettings": "DNS-Einstellungen speichern",
|
|
"ldapTitle": "LDAP / Active Directory Authentifizierung",
|
|
"enableLdap": "LDAP / AD Authentifizierung aktivieren",
|
|
"ldapDescription": "Active Directory Benutzern die Anmeldung erlauben. Lokale Admin-Konten funktionieren immer als Fallback.",
|
|
"ldapServer": "LDAP-Server",
|
|
"ldapPort": "Port",
|
|
"ldapUseSsl": "SSL/TLS verwenden (LDAPS)",
|
|
"ldapBindDn": "Bind DN (Dienstkonto)",
|
|
"ldapBindPassword": "Bind-Passwort",
|
|
"ldapBaseDn": "Basis-DN",
|
|
"ldapUserFilter": "Benutzerfilter",
|
|
"ldapUserFilterHint": "Verwenden Sie {username} als Platzhalter für den Anmeldenamen.",
|
|
"ldapGroupDn": "Gruppen-DN (optional, zur Einschränkung)",
|
|
"ldapGroupDnHint": "Falls gesetzt, können sich nur Mitglieder dieser Gruppe per LDAP anmelden.",
|
|
"saveLdapSettings": "LDAP-Einstellungen speichern",
|
|
"versionTitle": "Version & Updates",
|
|
"currentVersion": "Installierte Version",
|
|
"latestVersion": "Neueste verfügbare Version",
|
|
"branch": "Branch",
|
|
"commitHash": "Commit",
|
|
"updateAvailable": "Update verfügbar",
|
|
"upToDate": "Aktuell",
|
|
"triggerUpdate": "Update starten",
|
|
"updateWarning": "Die App ist während des Rebuilds ca. 60 Sekunden nicht verfügbar.",
|
|
"confirmUpdate": "Update jetzt starten? Die Datenbank wird zuerst gesichert. Die App startet neu (~60 Sekunden Ausfallzeit).",
|
|
"gitTitle": "Git-Repository Einstellungen",
|
|
"gitRepoUrl": "Repository URL",
|
|
"gitRepoUrlHint": "Wird für Versionsprüfungen und One-Click-Updates via Gitea API verwendet.",
|
|
"gitBranch": "Branch",
|
|
"gitToken": "Zugriffstoken (optional)",
|
|
"saveGitSettings": "Git-Einstellungen speichern",
|
|
"leaveEmptyToKeep": "Leer lassen zum Beibehalten",
|
|
"passwordSet": "Passwort gesetzt (leer lassen zum Beibehalten)",
|
|
"noPasswordSet": "Kein Passwort konfiguriert",
|
|
"tokenSet": "Token gesetzt (leer lassen zum Beibehalten)",
|
|
"noToken": "Kein Zugriffstoken konfiguriert",
|
|
"securityTitle": "Admin-Passwort ändern",
|
|
"currentPassword": "Aktuelles Passwort",
|
|
"newPassword": "Neues Passwort (min. 12 Zeichen)",
|
|
"confirmPassword": "Neues Passwort bestätigen",
|
|
"changePassword": "Passwort ändern"
|
|
},
|
|
"mfa": {
|
|
"title": "Zwei-Faktor-Authentifizierung (MFA)",
|
|
"enableMfa": "MFA für alle lokalen Benutzer aktivieren",
|
|
"mfaDescription": "Bei Aktivierung müssen lokale Benutzer sich nach der Passworteingabe mit einer TOTP-Authentifikator-App verifizieren. Azure AD-Benutzer sind nicht betroffen.",
|
|
"saveMfaSettings": "MFA-Einstellungen speichern",
|
|
"yourTotpStatus": "Ihr TOTP-Status",
|
|
"totpActive": "Aktiv",
|
|
"totpNotSetUp": "Nicht eingerichtet",
|
|
"disableMyTotp": "Mein TOTP deaktivieren",
|
|
"enterCode": "Geben Sie Ihren 6-stelligen Authentifikator-Code ein",
|
|
"verify": "Bestätigen",
|
|
"backToLogin": "Zurück zur Anmeldung",
|
|
"scanQrCode": "Scannen Sie diesen QR-Code mit Ihrer Authentifikator-App",
|
|
"orEnterManually": "Oder geben Sie diesen Schlüssel manuell ein:",
|
|
"verifyAndActivate": "Bestätigen & Aktivieren",
|
|
"resetMfa": "MFA zurücksetzen",
|
|
"confirmResetMfa": "MFA für '{username}' zurücksetzen? Sie müssen bei der nächsten Anmeldung ihren Authentifikator neu einrichten.",
|
|
"mfaResetSuccess": "MFA für '{username}' zurückgesetzt.",
|
|
"mfaDisabled": "Ihr TOTP wurde deaktiviert.",
|
|
"mfaSaved": "MFA-Einstellungen gespeichert.",
|
|
"invalidCode": "Ungültiger Code. Bitte versuchen Sie es erneut.",
|
|
"codeExpired": "Verifizierung abgelaufen. Bitte melden Sie sich erneut an."
|
|
},
|
|
"common": {
|
|
"loading": "Laden...",
|
|
"back": "Zurück",
|
|
"save": "Speichern",
|
|
"cancel": "Abbrechen",
|
|
"delete": "Löschen",
|
|
"edit": "Bearbeiten",
|
|
"view": "Ansehen",
|
|
"start": "Starten",
|
|
"stop": "Stoppen",
|
|
"restart": "Neustarten",
|
|
"disable": "Deaktivieren",
|
|
"enable": "Aktivieren",
|
|
"resetPassword": "Passwort zurücksetzen",
|
|
"open": "Öffnen",
|
|
"active": "Aktiv",
|
|
"disabled": "Deaktiviert"
|
|
},
|
|
"errors": {
|
|
"networkError": "Netzwerkfehler — Server nicht erreichbar.",
|
|
"sessionExpired": "Sitzung abgelaufen.",
|
|
"requestFailed": "Anfrage fehlgeschlagen.",
|
|
"serverError": "Serverfehler (HTTP {status}).",
|
|
"unknownError": "Ein unbekannter Fehler ist aufgetreten.",
|
|
"uploadFailed": "Upload fehlgeschlagen.",
|
|
"deleteFailed": "Löschen fehlgeschlagen: {error}",
|
|
"failedToLoadSettings": "Einstellungen konnten nicht geladen werden: {error}",
|
|
"failed": "Fehlgeschlagen: {error}",
|
|
"logoUploadFailed": "Logo-Upload fehlgeschlagen: {error}",
|
|
"failedToRemoveLogo": "Logo konnte nicht entfernt werden: {error}",
|
|
"updateFailed": "Aktualisierung fehlgeschlagen: {error}",
|
|
"passwordResetFailed": "Passwort zurücksetzen fehlgeschlagen: {error}",
|
|
"selectFileFirst": "Bitte wählen Sie zuerst eine Datei aus.",
|
|
"passwordsDoNotMatch": "Passwörter stimmen nicht überein.",
|
|
"failedToLoadCredentials": "Zugangsdaten konnten nicht geladen werden: {error}",
|
|
"azureNotConfigured": "Azure AD ist nicht konfiguriert.",
|
|
"azureLoginFailed": "Azure AD Anmeldung fehlgeschlagen: {error}",
|
|
"actionFailed": "{action} fehlgeschlagen: {error}"
|
|
},
|
|
"messages": {
|
|
"systemSettingsSaved": "Systemeinstellungen gespeichert.",
|
|
"npmSettingsSaved": "NPM-Einstellungen gespeichert.",
|
|
"imageSettingsSaved": "Image-Einstellungen gespeichert.",
|
|
"brandingNameSaved": "Branding-Einstellungen gespeichert.",
|
|
"logoUploaded": "Logo erfolgreich hochgeladen.",
|
|
"logoRemoved": "Logo entfernt.",
|
|
"azureSettingsSaved": "Azure AD-Einstellungen gespeichert.",
|
|
"dnsSettingsSaved": "DNS-Einstellungen gespeichert.",
|
|
"ldapSettingsSaved": "LDAP-Einstellungen gespeichert.",
|
|
"gitSettingsSaved": "Git-Einstellungen gespeichert.",
|
|
"updateStarted": "Update gestartet. Die App wird in Kürze neu starten.",
|
|
"passwordChanged": "Passwort erfolgreich geändert.",
|
|
"setupUrlCopied": "Setup-URL in Zwischenablage kopiert.",
|
|
"copiedToClipboard": "In Zwischenablage kopiert.",
|
|
"userCreated": "Benutzer '{username}' erstellt.",
|
|
"userDeleted": "Benutzer '{username}' gelöscht.",
|
|
"passwordResetFor": "Passwort zurückgesetzt für '{username}'.",
|
|
"newPasswordAlert": "Neues Passwort für '{username}':\n\n{password}\n\nBitte speichern Sie dieses Passwort jetzt. Es wird nicht erneut angezeigt.",
|
|
"confirmDeleteUser": "Benutzer '{username}' löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"confirmResetPassword": "Passwort für '{username}' zurücksetzen? Ein neues zufälliges Passwort wird generiert."
|
|
},
|
|
"userModal": {
|
|
"title": "Neuer Benutzer",
|
|
"usernameLabel": "Benutzername *",
|
|
"passwordLabel": "Passwort * (min. 8 Zeichen)",
|
|
"emailLabel": "E-Mail",
|
|
"languageLabel": "Standardsprache",
|
|
"cancel": "Abbrechen",
|
|
"createUser": "Benutzer erstellen"
|
|
},
|
|
"customerModal": {
|
|
"newCustomer": "Neuer Kunde",
|
|
"editCustomer": "Kunde bearbeiten",
|
|
"nameLabel": "Name *",
|
|
"companyLabel": "Firma",
|
|
"subdomainLabel": "Subdomain *",
|
|
"subdomainHint": "Kleinbuchstaben, alphanumerisch + Bindestriche",
|
|
"emailLabel": "E-Mail *",
|
|
"maxDevicesLabel": "Max. Geräte",
|
|
"notesLabel": "Notizen",
|
|
"cancel": "Abbrechen",
|
|
"saveAndDeploy": "Speichern & Bereitstellen",
|
|
"saveChanges": "Änderungen speichern"
|
|
},
|
|
"deleteModal": {
|
|
"title": "Löschen bestätigen",
|
|
"confirmText": "Möchten Sie den Kunden wirklich löschen:",
|
|
"warning": "Alle Container, NPM-Einträge und Daten werden entfernt. Diese Aktion kann nicht rückgängig gemacht werden.",
|
|
"cancel": "Abbrechen",
|
|
"delete": "Löschen"
|
|
},
|
|
"monitoring": {
|
|
"title": "System-Monitoring",
|
|
"refresh": "Aktualisieren",
|
|
"hostResources": "Host-Ressourcen",
|
|
"hostname": "Hostname",
|
|
"cpu": "CPU ({count} Kerne)",
|
|
"memory": "Arbeitsspeicher ({used}/{total} GB)",
|
|
"disk": "Festplatte ({used}/{total} GB)",
|
|
"allCustomerDeployments": "Alle Kunden-Deployments",
|
|
"thId": "ID",
|
|
"thName": "Name",
|
|
"thSubdomain": "Subdomain",
|
|
"thStatus": "Status",
|
|
"thDeployment": "Deployment",
|
|
"thDashboard": "Dashboard",
|
|
"thRelayPort": "Relay-Port",
|
|
"thContainers": "Container",
|
|
"noCustomers": "Keine Kunden."
|
|
}
|
|
} |