mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-23 23:31:47 +00:00
459b092e28
The "How to Update" modal always rendered Docker commands and claimed the instance runs in Docker, even on bare-metal / LXC installs like Proxmox Community Scripts. It now branches on the is_docker flag the backend already returns: non-Docker installs get a generic "re-run your install method" note plus a link to the update guide. Docker stays the default when the flag is absent, so existing installs are unaffected.
357 lines
22 KiB
TypeScript
357 lines
22 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const admin: TranslationStrings = {
|
|
'admin.notifications.title': 'Benachrichtigungen',
|
|
'admin.notifications.hint': 'Wählen Sie einen Benachrichtigungskanal. Es kann nur einer gleichzeitig aktiv sein.',
|
|
'admin.notifications.none': 'Deaktiviert',
|
|
'admin.notifications.email': 'E-Mail (SMTP)',
|
|
'admin.notifications.webhook': 'Webhook',
|
|
'admin.notifications.save': 'Benachrichtigungseinstellungen speichern',
|
|
'admin.notifications.saved': 'Benachrichtigungseinstellungen gespeichert',
|
|
'admin.notifications.testWebhook': 'Test-Webhook senden',
|
|
'admin.notifications.testWebhookSuccess': 'Test-Webhook erfolgreich gesendet',
|
|
'admin.notifications.testWebhookFailed': 'Test-Webhook fehlgeschlagen',
|
|
'admin.smtp.title': 'E-Mail & Benachrichtigungen',
|
|
'admin.smtp.hint': 'SMTP-Konfiguration zum Versenden von E-Mail-Benachrichtigungen.',
|
|
'admin.smtp.testButton': 'Test-E-Mail senden',
|
|
'admin.webhook.hint': 'Benachrichtigungen an einen externen Webhook senden (Discord, Slack usw.).',
|
|
'admin.smtp.testSuccess': 'Test-E-Mail erfolgreich gesendet',
|
|
'admin.smtp.testFailed': 'Test-E-Mail fehlgeschlagen',
|
|
'admin.title': 'Administration',
|
|
'admin.subtitle': 'Benutzerverwaltung und Systemeinstellungen',
|
|
'admin.tabs.users': 'Benutzer',
|
|
'admin.tabs.categories': 'Kategorien',
|
|
'admin.tabs.backup': 'Backup',
|
|
'admin.tabs.audit': 'Audit',
|
|
'admin.stats.users': 'Benutzer',
|
|
'admin.stats.trips': 'Reisen',
|
|
'admin.stats.places': 'Orte',
|
|
'admin.stats.photos': 'Fotos',
|
|
'admin.stats.files': 'Dateien',
|
|
'admin.table.user': 'Benutzer',
|
|
'admin.table.email': 'E-Mail',
|
|
'admin.table.role': 'Rolle',
|
|
'admin.table.created': 'Erstellt',
|
|
'admin.table.lastLogin': 'Letzter Login',
|
|
'admin.table.actions': 'Aktionen',
|
|
'admin.you': '(Du)',
|
|
'admin.editUser': 'Benutzer bearbeiten',
|
|
'admin.newPassword': 'Neues Passwort',
|
|
'admin.newPasswordHint': 'Leer lassen, um das Passwort nicht zu ändern',
|
|
'admin.deleteUser': 'Benutzer "{name}" löschen? Alle Reisen werden unwiderruflich gelöscht.',
|
|
'admin.deleteUserTitle': 'Benutzer löschen',
|
|
'admin.newPasswordPlaceholder': 'Neues Passwort eingeben…',
|
|
'admin.toast.loadError': 'Fehler beim Laden der Admin-Daten',
|
|
'admin.toast.userUpdated': 'Benutzer aktualisiert',
|
|
'admin.toast.updateError': 'Fehler beim Aktualisieren',
|
|
'admin.toast.userDeleted': 'Benutzer gelöscht',
|
|
'admin.toast.deleteError': 'Fehler beim Löschen',
|
|
'admin.toast.cannotDeleteSelf': 'Eigenes Konto kann nicht gelöscht werden',
|
|
'admin.toast.userCreated': 'Benutzer erstellt',
|
|
'admin.toast.createError': 'Fehler beim Erstellen des Benutzers',
|
|
'admin.toast.fieldsRequired': 'Benutzername, E-Mail und Passwort sind erforderlich',
|
|
'admin.createUser': 'Benutzer anlegen',
|
|
'admin.invite.title': 'Einladungslinks',
|
|
'admin.invite.subtitle': 'Einmal-Links für die Registrierung erstellen',
|
|
'admin.invite.create': 'Link erstellen',
|
|
'admin.invite.createAndCopy': 'Erstellen & kopieren',
|
|
'admin.invite.empty': 'Noch keine Einladungslinks erstellt',
|
|
'admin.invite.maxUses': 'Max. Nutzungen',
|
|
'admin.invite.expiry': 'Gültig für',
|
|
'admin.invite.uses': 'genutzt',
|
|
'admin.invite.expiresAt': 'läuft ab am',
|
|
'admin.invite.createdBy': 'von',
|
|
'admin.invite.active': 'Aktiv',
|
|
'admin.invite.expired': 'Abgelaufen',
|
|
'admin.invite.usedUp': 'Aufgebraucht',
|
|
'admin.invite.copied': 'Einladungslink in Zwischenablage kopiert',
|
|
'admin.invite.copyLink': 'Link kopieren',
|
|
'admin.invite.deleted': 'Einladungslink gelöscht',
|
|
'admin.invite.createError': 'Fehler beim Erstellen des Einladungslinks',
|
|
'admin.invite.deleteError': 'Fehler beim Löschen des Einladungslinks',
|
|
'admin.tabs.settings': 'Einstellungen',
|
|
'admin.allowRegistration': 'Registrierung erlauben',
|
|
'admin.allowRegistrationHint': 'Neue Benutzer können sich selbst registrieren',
|
|
'admin.authMethods': 'Authentication Methods',
|
|
'admin.passwordLogin': 'Password Login',
|
|
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
|
|
'admin.passwordRegistration': 'Password Registration',
|
|
'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
|
|
'admin.oidcLogin': 'SSO Login',
|
|
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
|
|
'admin.oidcRegistration': 'SSO Auto-Provisioning',
|
|
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
|
|
'admin.envOverrideHint':
|
|
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
|
|
'admin.lockoutWarning': 'At least one login method must remain enabled',
|
|
'admin.requireMfa': 'Zwei-Faktor-Authentifizierung (2FA) für alle verlangen',
|
|
'admin.requireMfaHint':
|
|
'Benutzer ohne 2FA müssen die Einrichtung unter Einstellungen abschließen, bevor sie die App nutzen können.',
|
|
'admin.apiKeys': 'API-Schlüssel',
|
|
'admin.apiKeysHint': 'Optional. Aktiviert erweiterte Ortsdaten wie Fotos und Wetter.',
|
|
'admin.mapsKey': 'Google Maps API-Schlüssel',
|
|
'admin.mapsKeyHint': 'Für Ortsuche benötigt. Erstellen unter console.cloud.google.com',
|
|
'admin.mapsKeyHintLong':
|
|
'Ohne API Key wird OpenStreetMap für die Ortssuche genutzt. Mit Google API Key können zusätzlich Bilder, Bewertungen und Öffnungszeiten geladen werden. Erstellen unter console.cloud.google.com.',
|
|
'admin.recommended': 'Empfohlen',
|
|
'admin.weatherKey': 'OpenWeatherMap API-Schlüssel',
|
|
'admin.weatherKeyHint': 'Für Wetterdaten. Kostenlos unter openweathermap.org',
|
|
'admin.validateKey': 'Test',
|
|
'admin.keyValid': 'Verbunden',
|
|
'admin.keyInvalid': 'Ungültig',
|
|
'admin.keySaved': 'API-Schlüssel gespeichert',
|
|
'admin.oidcTitle': 'Single Sign-On (OIDC)',
|
|
'admin.oidcSubtitle': 'Anmeldung über externe Anbieter wie Google, Apple, Authentik oder Keycloak.',
|
|
'admin.oidcDisplayName': 'Anzeigename',
|
|
'admin.oidcIssuer': 'Issuer URL',
|
|
'admin.oidcIssuerHint': 'Die OpenID Connect Issuer URL des Anbieters. z.B. https://accounts.google.com',
|
|
'admin.oidcSaved': 'OIDC-Konfiguration gespeichert',
|
|
'admin.oidcOnlyMode': 'Passwort-Authentifizierung deaktivieren',
|
|
'admin.oidcOnlyModeHint':
|
|
'Wenn aktiviert, ist nur SSO-Login erlaubt. Passwort-Login und Registrierung werden blockiert.',
|
|
'admin.fileTypes': 'Erlaubte Dateitypen',
|
|
'admin.fileTypesHint': 'Konfiguriere welche Dateitypen hochgeladen werden dürfen.',
|
|
'admin.fileTypesFormat': 'Kommagetrennte Endungen (z.B. jpg,png,pdf,doc). Verwende * um alle Typen zu erlauben.',
|
|
'admin.fileTypesSaved': 'Dateityp-Einstellungen gespeichert',
|
|
'admin.placesPhotos.title': 'Ortsfotos',
|
|
'admin.placesPhotos.subtitle':
|
|
'Fotos von der Google Places API laden. Deaktivieren, um API-Kontingent zu sparen. Wikimedia-Fotos sind davon nicht betroffen.',
|
|
'admin.placesAutocomplete.title': 'Orts-Autovervollständigung',
|
|
'admin.placesAutocomplete.subtitle':
|
|
'Google Places API für Suchvorschläge nutzen. Deaktivieren, um API-Kontingent zu sparen.',
|
|
'admin.placesDetails.title': 'Ortsdetails',
|
|
'admin.placesDetails.subtitle':
|
|
'Detaillierte Ortsinformationen (Öffnungszeiten, Bewertung, Website) von der Google Places API laden. Deaktivieren, um API-Kontingent zu sparen.',
|
|
'admin.bagTracking.title': 'Gepäck-Tracking',
|
|
'admin.bagTracking.subtitle': 'Gewicht und Gepäckstück-Zuordnung für Packlisteneinträge aktivieren',
|
|
'admin.collab.chat.title': 'Chat',
|
|
'admin.collab.chat.subtitle': 'Echtzeit-Nachrichten für die Reiseplanung',
|
|
'admin.collab.notes.title': 'Notizen',
|
|
'admin.collab.notes.subtitle': 'Gemeinsame Notizen und Dokumente',
|
|
'admin.collab.polls.title': 'Umfragen',
|
|
'admin.collab.polls.subtitle': 'Gruppen-Umfragen und Abstimmungen',
|
|
'admin.collab.whatsnext.title': 'Was kommt als Nächstes',
|
|
'admin.collab.whatsnext.subtitle': 'Aktivitätsvorschläge und nächste Schritte',
|
|
'admin.tabs.config': 'Personalisierung',
|
|
'admin.tabs.defaults': 'Benutzer-Standards',
|
|
'admin.defaultSettings.title': 'Standard-Benutzereinstellungen',
|
|
'admin.defaultSettings.description':
|
|
'Instanzweite Standards festlegen. Benutzer, die eine Einstellung nicht geändert haben, sehen diese Werte. Eigene Änderungen haben immer Vorrang.',
|
|
'admin.defaultSettings.saved': 'Standard gespeichert',
|
|
'admin.defaultSettings.reset': 'Auf eingebauten Standard zurücksetzen',
|
|
'admin.defaultSettings.resetToBuiltIn': 'zurücksetzen',
|
|
'admin.tabs.templates': 'Packvorlagen',
|
|
'admin.packingTemplates.title': 'Packvorlagen',
|
|
'admin.packingTemplates.subtitle': 'Wiederverwendbare Packlisten für deine Reisen erstellen',
|
|
'admin.packingTemplates.create': 'Neue Vorlage',
|
|
'admin.packingTemplates.namePlaceholder': 'Vorlagenname (z.B. Strandurlaub)',
|
|
'admin.packingTemplates.empty': 'Noch keine Vorlagen erstellt',
|
|
'admin.packingTemplates.items': 'Einträge',
|
|
'admin.packingTemplates.categories': 'Kategorien',
|
|
'admin.packingTemplates.itemName': 'Artikelname',
|
|
'admin.packingTemplates.itemCategory': 'Kategorie',
|
|
'admin.packingTemplates.categoryName': 'Kategoriename (z.B. Kleidung)',
|
|
'admin.packingTemplates.addCategory': 'Kategorie hinzufügen',
|
|
'admin.packingTemplates.created': 'Vorlage erstellt',
|
|
'admin.packingTemplates.deleted': 'Vorlage gelöscht',
|
|
'admin.packingTemplates.loadError': 'Vorlagen konnten nicht geladen werden',
|
|
'admin.packingTemplates.createError': 'Vorlage konnte nicht erstellt werden',
|
|
'admin.packingTemplates.deleteError': 'Vorlage konnte nicht gelöscht werden',
|
|
'admin.packingTemplates.saveError': 'Fehler beim Speichern',
|
|
'admin.tabs.addons': 'Addons',
|
|
'admin.addons.title': 'Addons',
|
|
'admin.addons.subtitle': 'Aktiviere oder deaktiviere Funktionen, um TREK nach deinen Wünschen anzupassen.',
|
|
'admin.addons.catalog.packing.name': 'Listen',
|
|
'admin.addons.catalog.packing.description': 'Packlisten und To-Do-Aufgaben für deine Reisen',
|
|
'admin.addons.catalog.budget.name': 'Budget',
|
|
'admin.addons.catalog.budget.description': 'Ausgaben verfolgen und Reisebudget planen',
|
|
'admin.addons.catalog.documents.name': 'Dokumente',
|
|
'admin.addons.catalog.documents.description': 'Reisedokumente speichern und verwalten',
|
|
'admin.addons.catalog.vacay.name': 'Vacay',
|
|
'admin.addons.catalog.vacay.description': 'Persönlicher Urlaubsplaner mit Kalenderansicht',
|
|
'admin.addons.catalog.atlas.name': 'Atlas',
|
|
'admin.addons.catalog.atlas.description': 'Weltkarte mit besuchten Ländern und Reisestatistiken',
|
|
'admin.addons.catalog.collab.name': 'Collab',
|
|
'admin.addons.catalog.collab.description': 'Echtzeit-Notizen, Umfragen und Chat für die Reiseplanung',
|
|
'admin.addons.catalog.memories.name': 'Fotos (Immich)',
|
|
'admin.addons.catalog.memories.description': 'Reisefotos über deine Immich-Instanz teilen',
|
|
'admin.addons.catalog.mcp.name': 'MCP',
|
|
'admin.addons.catalog.mcp.description': 'Model Context Protocol für die KI-Assistenten-Integration',
|
|
'admin.addons.subtitleBefore': 'Aktiviere oder deaktiviere Funktionen, um ',
|
|
'admin.addons.subtitleAfter': ' nach deinen Wünschen anzupassen.',
|
|
'admin.addons.enabled': 'Aktiviert',
|
|
'admin.addons.disabled': 'Deaktiviert',
|
|
'admin.addons.type.trip': 'Reise',
|
|
'admin.addons.type.global': 'Global',
|
|
'admin.addons.type.integration': 'Integration',
|
|
'admin.addons.tripHint': 'Verfügbar als Tab innerhalb jedes Trips',
|
|
'admin.addons.globalHint': 'Verfügbar als eigenständiger Bereich in der Navigation',
|
|
'admin.addons.integrationHint': 'Backend-Dienste und API-Integrationen ohne eigene Seite',
|
|
'admin.addons.toast.updated': 'Addon aktualisiert',
|
|
'admin.addons.toast.error': 'Addon konnte nicht aktualisiert werden',
|
|
'admin.addons.noAddons': 'Keine Addons verfügbar',
|
|
'admin.weather.title': 'Wetterdaten',
|
|
'admin.weather.badge': 'Seit 24. März 2026',
|
|
'admin.weather.description':
|
|
'TREK nutzt Open-Meteo als Wetterdatenquelle. Open-Meteo ist ein kostenloser, quelloffener Wetterdienst — es wird kein API-Schlüssel benötigt.',
|
|
'admin.weather.forecast': '16-Tage-Vorhersage',
|
|
'admin.weather.forecastDesc': 'Statt bisher 5 Tage (OpenWeatherMap)',
|
|
'admin.weather.climate': 'Historische Klimadaten',
|
|
'admin.weather.climateDesc': 'Durchschnittswerte der letzten 85 Jahre für Tage jenseits der 16-Tage-Vorhersage',
|
|
'admin.weather.requests': '10.000 Anfragen / Tag',
|
|
'admin.weather.requestsDesc': 'Kostenlos, kein API-Schlüssel erforderlich',
|
|
'admin.weather.locationHint':
|
|
'Das Wetter wird anhand des ersten Ortes mit Koordinaten im jeweiligen Tag berechnet. Ist kein Ort am Tag eingeplant, wird ein beliebiger Ort aus der Ortsliste als Referenz verwendet.',
|
|
'admin.tabs.mcpTokens': 'MCP-Zugang',
|
|
'admin.mcpTokens.title': 'MCP-Zugang',
|
|
'admin.mcpTokens.subtitle': 'OAuth-Sitzungen und API-Tokens aller Benutzer verwalten',
|
|
'admin.mcpTokens.sectionTitle': 'API-Tokens',
|
|
'admin.mcpTokens.owner': 'Besitzer',
|
|
'admin.mcpTokens.tokenName': 'Token-Name',
|
|
'admin.mcpTokens.created': 'Erstellt',
|
|
'admin.mcpTokens.lastUsed': 'Zuletzt verwendet',
|
|
'admin.mcpTokens.never': 'Nie',
|
|
'admin.mcpTokens.empty': 'Es wurden noch keine MCP-Tokens erstellt',
|
|
'admin.mcpTokens.deleteTitle': 'Token löschen',
|
|
'admin.mcpTokens.deleteMessage':
|
|
'Dieser Token wird sofort widerrufen. Der Benutzer verliert den MCP-Zugang über diesen Token.',
|
|
'admin.mcpTokens.deleteSuccess': 'Token gelöscht',
|
|
'admin.mcpTokens.deleteError': 'Token konnte nicht gelöscht werden',
|
|
'admin.mcpTokens.loadError': 'Tokens konnten nicht geladen werden',
|
|
'admin.oauthSessions.sectionTitle': 'OAuth-Sitzungen',
|
|
'admin.oauthSessions.clientName': 'Client',
|
|
'admin.oauthSessions.owner': 'Besitzer',
|
|
'admin.oauthSessions.scopes': 'Berechtigungen',
|
|
'admin.oauthSessions.created': 'Erstellt',
|
|
'admin.oauthSessions.empty': 'Keine aktiven OAuth-Sitzungen',
|
|
'admin.oauthSessions.revokeTitle': 'Sitzung widerrufen',
|
|
'admin.oauthSessions.revokeMessage':
|
|
'Diese OAuth-Sitzung wird sofort widerrufen. Der Client verliert den MCP-Zugang.',
|
|
'admin.oauthSessions.revokeSuccess': 'Sitzung widerrufen',
|
|
'admin.oauthSessions.revokeError': 'Sitzung konnte nicht widerrufen werden',
|
|
'admin.oauthSessions.loadError': 'OAuth-Sitzungen konnten nicht geladen werden',
|
|
'admin.tabs.github': 'GitHub',
|
|
'admin.audit.subtitle': 'Sicherheitsrelevante und administrative Ereignisse (Backups, Benutzer, MFA, Einstellungen).',
|
|
'admin.audit.empty': 'Noch keine Audit-Einträge.',
|
|
'admin.audit.refresh': 'Aktualisieren',
|
|
'admin.audit.loadMore': 'Mehr laden',
|
|
'admin.audit.showing': '{count} geladen · {total} gesamt',
|
|
'admin.audit.col.time': 'Zeit',
|
|
'admin.audit.col.user': 'Benutzer',
|
|
'admin.audit.col.action': 'Aktion',
|
|
'admin.audit.col.resource': 'Ressource',
|
|
'admin.audit.col.ip': 'IP',
|
|
'admin.audit.col.details': 'Details',
|
|
'admin.github.title': 'Update-Verlauf',
|
|
'admin.github.subtitle': 'Neueste Updates von {repo}',
|
|
'admin.github.latest': 'Aktuell',
|
|
'admin.github.prerelease': 'Vorabversion',
|
|
'admin.github.showDetails': 'Details anzeigen',
|
|
'admin.github.hideDetails': 'Details ausblenden',
|
|
'admin.github.loadMore': 'Mehr laden',
|
|
'admin.github.loading': 'Wird geladen...',
|
|
'admin.github.error': 'Releases konnten nicht geladen werden',
|
|
'admin.github.by': 'von',
|
|
'admin.github.support': 'Hilft mir, TREK weiterzuentwickeln',
|
|
'admin.update.available': 'Update verfügbar',
|
|
'admin.update.text': 'TREK {version} ist verfügbar. Du verwendest {current}.',
|
|
'admin.update.button': 'Auf GitHub ansehen',
|
|
'admin.update.install': 'Update installieren',
|
|
'admin.update.confirmTitle': 'Update installieren?',
|
|
'admin.update.confirmText':
|
|
'TREK wird von {current} auf {version} aktualisiert. Der Server startet danach automatisch neu.',
|
|
'admin.update.dataInfo':
|
|
'Alle Daten (Reisen, Benutzer, API-Schlüssel, Uploads, Vacay, Atlas, Budgets) bleiben erhalten.',
|
|
'admin.update.warning': 'Die App ist während des Neustarts kurz nicht erreichbar.',
|
|
'admin.update.confirm': 'Jetzt aktualisieren',
|
|
'admin.update.installing': 'Wird aktualisiert…',
|
|
'admin.update.success': 'Update installiert! Server startet neu…',
|
|
'admin.update.failed': 'Update fehlgeschlagen',
|
|
'admin.update.backupHint': 'Wir empfehlen, vor dem Update ein Backup zu erstellen und herunterzuladen.',
|
|
'admin.update.backupLink': 'Zum Backup',
|
|
'admin.update.howTo': 'Update-Anleitung',
|
|
'admin.update.dockerText':
|
|
'Deine TREK-Instanz läuft in Docker. Um auf {version} zu aktualisieren, führe folgende Befehle auf deinem Server aus:',
|
|
'admin.update.nonDockerText':
|
|
'Diese TREK-Instanz läuft nicht in Docker. Um auf {version} zu aktualisieren, führe die Installations- oder Update-Methode erneut aus, die du verwendet hast — bei Proxmox Community Scripts startest du das Update zum Beispiel über die LXC-Konsole:',
|
|
'admin.update.wikiLink': 'Update-Anleitung öffnen',
|
|
'admin.update.reloadHint': 'Bitte lade die Seite in wenigen Sekunden neu.',
|
|
'admin.tabs.permissions': 'Berechtigungen',
|
|
'admin.notifications.emailPanel.title': 'Email (SMTP)',
|
|
'admin.notifications.webhookPanel.title': 'Webhook',
|
|
'admin.notifications.inappPanel.title': 'In-App',
|
|
'admin.notifications.inappPanel.hint':
|
|
'In-App-Benachrichtigungen sind immer aktiv und können nicht global deaktiviert werden.',
|
|
'admin.notifications.adminWebhookPanel.title': 'Admin-Webhook',
|
|
'admin.notifications.adminWebhookPanel.hint':
|
|
'Dieser Webhook wird ausschließlich für Admin-Benachrichtigungen verwendet (z. B. Versions-Updates). Er ist unabhängig von den Benutzer-Webhooks und sendet automatisch, wenn eine URL konfiguriert ist.',
|
|
'admin.notifications.adminWebhookPanel.saved': 'Admin-Webhook-URL gespeichert',
|
|
'admin.notifications.adminWebhookPanel.testSuccess': 'Test-Webhook erfolgreich gesendet',
|
|
'admin.notifications.adminWebhookPanel.testFailed': 'Test-Webhook fehlgeschlagen',
|
|
'admin.notifications.adminWebhookPanel.alwaysOnHint':
|
|
'Admin-Webhook sendet automatisch, wenn eine URL konfiguriert ist',
|
|
'admin.notifications.ntfy': 'Ntfy',
|
|
'admin.ntfy.hint':
|
|
'Erlaubt Benutzern, eigene ntfy-Themen für Push-Benachrichtigungen zu konfigurieren. Legen Sie unten den Standardserver fest, um die Benutzereinstellungen vorauszufüllen.',
|
|
'admin.notifications.testNtfy': 'Test-Ntfy senden',
|
|
'admin.notifications.testNtfySuccess': 'Test-Ntfy erfolgreich gesendet',
|
|
'admin.notifications.testNtfyFailed': 'Test-Ntfy fehlgeschlagen',
|
|
'admin.notifications.adminNtfyPanel.title': 'Admin-Ntfy',
|
|
'admin.notifications.adminNtfyPanel.hint':
|
|
'Dieses Ntfy-Thema wird ausschließlich für Admin-Benachrichtigungen verwendet (z. B. Versions-Updates). Es ist unabhängig von Benutzer-Themen und sendet immer, wenn es konfiguriert ist.',
|
|
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy-Server-URL',
|
|
'admin.notifications.adminNtfyPanel.serverHint':
|
|
'Wird auch als Standardserver für Benutzer-ntfy-Benachrichtigungen verwendet. Leer lassen für ntfy.sh. Benutzer können dies in ihren eigenen Einstellungen überschreiben.',
|
|
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
|
'admin.notifications.adminNtfyPanel.topicLabel': 'Admin-Thema',
|
|
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
|
'admin.notifications.adminNtfyPanel.tokenLabel': 'Zugriffstoken (optional)',
|
|
'admin.notifications.adminNtfyPanel.tokenCleared': 'Admin-Zugriffstoken gelöscht',
|
|
'admin.notifications.adminNtfyPanel.saved': 'Admin-Ntfy-Einstellungen gespeichert',
|
|
'admin.notifications.adminNtfyPanel.test': 'Test-Ntfy senden',
|
|
'admin.notifications.adminNtfyPanel.testSuccess': 'Test-Ntfy erfolgreich gesendet',
|
|
'admin.notifications.adminNtfyPanel.testFailed': 'Test-Ntfy fehlgeschlagen',
|
|
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Admin-Ntfy sendet immer, wenn ein Thema konfiguriert ist',
|
|
'admin.notifications.adminNotificationsHint':
|
|
'Konfiguriere, welche Kanäle Admin-Benachrichtigungen liefern (z. B. Versions-Updates). Der Webhook sendet automatisch, wenn eine Admin-Webhook-URL gesetzt ist.',
|
|
'admin.notifications.tripReminders.title': 'Reiseerinnerungen',
|
|
'admin.notifications.tripReminders.hint':
|
|
'Sendet eine Erinnerungsbenachrichtigung vor Reisebeginn (erfordert gesetzte Erinnerungstage bei der Reise).',
|
|
'admin.notifications.tripReminders.enabled': 'Reiseerinnerungen aktiviert',
|
|
'admin.notifications.tripReminders.disabled': 'Reiseerinnerungen deaktiviert',
|
|
'admin.tabs.notifications': 'Benachrichtigungen',
|
|
'admin.addons.catalog.journey.name': 'Journey',
|
|
'admin.addons.catalog.journey.description': 'Reise-Tracking & Tagebuch mit Check-ins, Fotos und Tagesberichten',
|
|
'admin.passkey.title': 'Passkey-Anmeldung',
|
|
'admin.passkey.cardHint': 'Erlaube Benutzern die Anmeldung mit Passkeys (WebAuthn). Standardmäßig deaktiviert.',
|
|
'admin.passkey.login': 'Passkey-Anmeldung aktivieren',
|
|
'admin.passkey.loginHint':
|
|
'Zeigt die Option "Mit Passkey anmelden" und erlaubt Benutzern, in ihren Einstellungen Passkeys zu registrieren.',
|
|
'admin.passkey.notConfigured':
|
|
'Für diese Installation ist noch keine WebAuthn-Domain auflösbar. Lege unten APP_URL oder die Relying Party ID fest — bis dahin bleiben Passkeys ausgeblendet.',
|
|
'admin.passkey.rpId': 'Relying Party ID (Domain)',
|
|
'admin.passkey.rpIdHint':
|
|
'Die reine Domain, an die Passkeys gebunden sind, z. B. trek.example.org. Leer lassen, um sie aus APP_URL abzuleiten. Eine spätere Änderung macht bestehende Passkeys ungültig.',
|
|
'admin.passkey.origins': 'Erlaubte Origins',
|
|
'admin.passkey.originsHint':
|
|
'Vollständige Origins, durch Komma getrennt, z. B. https://trek.example.org. Leer lassen, um APP_URL zu verwenden.',
|
|
'admin.passkey.reset': 'Passkeys zurücksetzen',
|
|
'admin.passkey.resetHint':
|
|
'Entfernt alle Passkeys dieses Benutzers (z. B. bei einem verlorenen Gerät). Die Anmeldung mit Passwort bleibt weiterhin möglich.',
|
|
'admin.passkey.resetConfirm': 'Alle Passkeys von {name} entfernen?',
|
|
'admin.passkey.resetDone': '{count} Passkey(s) entfernt',
|
|
'admin.defaultSettings.mapProvider': 'Kartendienst',
|
|
'admin.defaultSettings.mapProviderHint':
|
|
'Die Standardkarte für alle auf dieser Instanz. Jeder Nutzer kann sie weiterhin in den eigenen Einstellungen überschreiben.',
|
|
'admin.defaultSettings.providerLeaflet': 'Standard (kostenlos)',
|
|
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
|
|
'admin.defaultSettings.mapboxToken': 'Gemeinsames Mapbox-Token',
|
|
'admin.defaultSettings.mapboxTokenHint':
|
|
'Wird für jeden Nutzer verwendet, der kein eigenes Token eingegeben hat — so erhält die gesamte Instanz Mapbox, ohne den Schlüssel einzeln teilen zu müssen. Verschlüsselt gespeichert.',
|
|
'admin.defaultSettings.mapboxStyle': 'Kartenstil',
|
|
'admin.defaultSettings.mapboxStylePlaceholder': 'Stil auswählen…',
|
|
'admin.defaultSettings.mapbox3d': '3D-Gebäude & Gelände',
|
|
'admin.defaultSettings.mapboxQuality': 'Hochqualitätsmodus',
|
|
};
|
|
export default admin;
|