de.yml 914 lignes · 46224 octets
# Deutsche Übersetzungen — rustwarden-ui
# UI-spezifische Abschnitte (Seiten, Formulare, Navigation, Admin-Panels)

# Anmeldung
login:
  title: "Anmeldung"
  page_title: "Anmeldung"
  page_description: "Anmeldung bei Ihrem Konto"
  subtitle: "Melden Sie sich bei Ihrem Konto an"
  username: "Benutzername oder E-Mail"
  password: "Passwort"
  submit: "Anmelden"
  remember_me: "Angemeldet bleiben"
  tab_login: "Anmeldung"
  tab_register: "Registrierung"
  register_title: "Konto erstellen"
  register_submit: "Mein Konto erstellen"
  username_placeholder: "Benutzername oder E-Mail"
  password_placeholder: "Ihr Passwort"
  username_placeholder_register: "Ihr Benutzername (min. 3 Zeichen)"
  username_pattern_register: "Nur Kleinbuchstaben, Ziffern und Bindestriche, 3 bis 39 Zeichen"
  password_placeholder_register: "Ihr Passwort (min. 8 Zeichen)"
  email_placeholder: "ihre@email.de"
  forgot_password: "Passwort vergessen?"
  email_not_verified: "E-Mail nicht verifiziert?"
  resend_verification: "Bestätigungs-E-Mail erneut senden"
  already_have_account: "Bereits ein Konto?"
  sign_in_link: "Anmelden"
  success_message: "Anmeldung erfolgreich! Weiterleitung..."
  error_message: "Anmeldefehler. Überprüfen Sie Ihre Anmeldedaten."
  email_unverified_message: "Ihre E-Mail ist nicht verifiziert. Klicken Sie unten, um den Link erneut zu senden."
  resend_button: "Bestätigungs-E-Mail erneut senden"
  resend_success: "Bestätigungs-E-Mail gesendet, falls das Konto existiert."
  resend_error: "Anfrage kann derzeit nicht gesendet werden."
  resend_prompt: "Bitte geben Sie Ihre E-Mail ein, bevor Sie erneut senden."
  register_success: "Konto erfolgreich erstellt! Bitte überprüfen Sie Ihre E-Mail."
  register_error: "Registrierungsfehler"
  email_label: "E-Mail"
  footer_text: "Konten und Authentifizierung"

# Link zum Zurücksetzen anfordern
forgot_password:
  page_title: "Passwort vergessen"
  title: "Passwort vergessen"
  subtitle: "Geben Sie Ihre E-Mail-Adresse ein. Wenn ein Konto existiert, wird ein Link zum Zurücksetzen gesendet."
  email_label: "E-Mail-Adresse"
  email_placeholder: "sie@beispiel.de"
  submit: "Link senden"
  back_to_login: "Zurück zur Anmeldung"
  error_default: "Die Anfrage konnte nicht gesendet werden."
  success_default: "Wenn ein Konto für diese Adresse existiert, wurde eine E-Mail zum Zurücksetzen gesendet."
  error_missing_email: "Bitte geben Sie Ihre E-Mail ein."
  error_cannot_send: "Die Anfrage kann derzeit nicht gesendet werden."

# Bestätigungs-E-Mail erneut senden
resend_verification:
  page_title: "Bestätigungs-E-Mail erneut senden - RustWarden"
  title: "Bestätigungs-E-Mail erneut senden"
  subtitle: "Geben Sie Ihre E-Mail-Adresse ein, um einen neuen Bestätigungslink zu erhalten."
  email_label: "E-Mail-Adresse"
  email_placeholder: "sie@beispiel.de"
  submit: "Bestätigungslink senden"
  back_to_login: "Zurück zur Anmeldung"
  error_default: "Die Anfrage konnte nicht gesendet werden."
  success_default: "Wenn das Konto existiert und nicht verifiziert ist, wurde eine E-Mail gesendet."
  error_missing_email: "Bitte geben Sie Ihre E-Mail ein."
  error_cannot_send: "Die Anfrage kann derzeit nicht gesendet werden."

# Passwort zurücksetzen (über E-Mail-Link)
password_reset:
  page_title: "Passwort zurücksetzen"
  title: "Passwort zurücksetzen"
  subtitle: "Geben Sie unten Ihr neues Passwort ein."
  new_password_label: "Neues Passwort"
  new_password_placeholder: "Neues sicheres Passwort"
  requirements: "⚠️ Muss enthalten: 8+ Zeichen, Großbuchstabe, Kleinbuchstabe, Ziffer, Sonderzeichen"
  confirm_password_label: "Passwort bestätigen"
  confirm_password_placeholder: "Bestätigen Sie Ihr neues Passwort"
  missing_token_url: "Zurücksetzungs-Token fehlt in der URL."
  missing_token: "Zurücksetzungs-Token fehlt."
  missing_new_password: "Bitte geben Sie ein neues Passwort ein."
  passwords_not_match: "Die Passwörter stimmen nicht überein."
  success_message: "Ihr Passwort wurde erfolgreich zurückgesetzt. Sie können sich jetzt anmelden."
  error_link_invalid: "Das Passwort konnte nicht zurückgesetzt werden. Der Link ist möglicherweise abgelaufen oder ungültig."
  error_generic: "Das Passwort kann derzeit nicht zurückgesetzt werden."

# 2FA-Anmeldeseite
login_2fa:
  page_title: "2FA-Überprüfung"
  title: "Zwei-Schritt-Überprüfung"
  subtitle: "Geben Sie den Code aus Ihrer Authenticator-App ein"
  code_label: "Authentifizierungscode"
  backup_code_label: "Backup-Code"
  verify_button: "Überprüfen"
  use_backup_code: "Einen Backup-Code verwenden"
  use_totp_code: "Authenticator-App-Code verwenden"
  back_to_login: "Zurück zur Anmeldung"
  error_invalid_code: "Ungültiger Code. Bitte versuchen Sie es erneut."
  error_network: "Netzwerkfehler. Bitte versuchen Sie es erneut."

# 2FA-Sicherheit
settings_security:
  page_title: "Sicherheit - RustWarden"
  title: "Zwei-Faktor-Authentifizierung"
  subtitle: "Schützen Sie Ihr Konto mit einer zusätzlichen Sicherheitsebene"
  totp_title: "TOTP-Authentifizierung"
  status_enabled: "Aktiviert"
  status_disabled: "Deaktiviert"
  enabled_message: "Ihr Konto ist durch Zwei-Faktor-Authentifizierung geschützt."
  disabled_message: "Fügen Sie Ihrem Konto eine zusätzliche Sicherheitsebene hinzu, indem Sie die Zwei-Faktor-Authentifizierung mit einer App wie Google Authenticator oder Authy aktivieren."
  enable_button: "2FA aktivieren"
  disable_button: "2FA deaktivieren"
  scan_qr: "Scannen Sie diesen QR-Code mit Ihrer Authenticator-App"
  manual_entry: "Oder geben Sie diesen Code manuell ein"
  enter_code: "Geben Sie den 6-stelligen Code aus Ihrer App ein"
  verify_button: "Überprüfen und aktivieren"
  backup_codes_title: "Backup-Codes"
  backup_codes_warning: "Bewahren Sie diese Codes an einem sicheren Ort auf. Jeder Code kann nur einmal verwendet werden."
  backup_codes_remaining: "Verbleibende Backup-Codes"
  regenerate_button: "Codes neu generieren"
  regenerate_confirm: "Sind Sie sicher? Alte Codes werden ersetzt."
  confirm_disable: "Geben Sie Ihr Passwort ein, um 2FA zu deaktivieren"
  password_label: "Aktuelles Passwort"
  copy_button: "Kopieren"
  saved_codes_button: "Ich habe meine Codes gespeichert"
  breadcrumb: "Sicherheit"
  force_2fa_message: "Ihr Administrator verlangt die Zwei-Faktor-Authentifizierung. Sie müssen 2FA einrichten, bevor Sie auf den Rest der Anwendung zugreifen können."
  force_2fa_logout: "Abmelden"

# Einstellungen
settings:
  title: "Einstellungen"
  page_title: "Einstellungen - RustWarden"
  subtitle: "Verwalten Sie Ihre Präferenzen und Kontoeinstellungen"
  profile_title: "Mein Profil"
  profile_desc: "Bearbeiten Sie Ihre persönlichen Informationen (Benutzername, E-Mail)"
  password_title: "Passwort"
  password_desc: "Ändern Sie Ihr Passwort, um Ihr Konto zu sichern"
  sessions_title: "Aktive Sitzungen"
  sessions_desc: "Verwalten Sie Ihre aktiven Sitzungen und widerrufen Sie den Zugriff von anderen Geräten"
  preferences_title: "Präferenzen"
  preferences_desc: "Passen Sie Ihre Erfahrung an (Design, Sprache)"
  access: "Zugriff"
  info_title: "Informationen"
  info_desc: "Verwenden Sie die obigen Abschnitte, um verschiedene Aspekte Ihres Kontos zu verwalten. Alle Änderungen sind sicher und erfordern Ihre Authentifizierung."
  language: "Sprache"
  language_description: "Wählen Sie Ihre bevorzugte Sprache"
  save: "Speichern"
  saved: "Einstellungen gespeichert"

# Startseite
home:
  welcome: "Willkommen, {username}!"
  subtitle: "Willkommen in Ihrem persönlichen Bereich"
  my_account: "Mein Konto"
  stat_username: "Benutzername"
  stat_email: "E-Mail"
  stat_member_since: "Mitglied seit"
  stat_roles: "Rollen"

# Präferenzen
preferences:
  title: "Anzeigeeinstellungen"
  page_title: "Anzeigeeinstellungen"
  subtitle: "Passen Sie das Erscheinungsbild der Benutzeroberfläche an"
  theme: "Design"
  theme_light: "Hell"
  theme_light_desc: "Helle und saubere Benutzeroberfläche"
  theme_dark: "Dunkel"
  theme_dark_desc: "Reduziert Augenbelastung"
  theme_auto: "Automatisch"
  theme_auto_desc: "Passt sich der Tageszeit an"
  theme_preview: "Das Design wird sofort nach dem Speichern angewendet"
  language: "Sprache"
  language_fr: "Français"
  language_fr_desc: "Benutzeroberfläche auf Französisch"
  language_en: "English"
  language_en_desc: "Englische Benutzeroberfläche"
  language_de: "Deutsch"
  language_de_desc: "Deutsche Benutzeroberfläche"
  language_es: "Español"
  language_es_desc: "Spanische Benutzeroberfläche"
  language_it: "Italiano"
  language_it_desc: "Italienische Benutzeroberfläche"
  language_pt: "Português"
  language_pt_desc: "Portugiesische Benutzeroberfläche"
  translation_warning: "Die vollständige Übersetzung der Benutzeroberfläche befindet sich in der Entwicklung. Einige Elemente können auf Französisch bleiben."
  modified: "Einstellungen geändert"
  modified_desc: "Speichern Sie Ihre Änderungen, um sie anzuwenden"
  save: "Einstellungen speichern"
  saving: "Speichern..."
  cancel: "Abbrechen"
  saved_success: "Einstellungen erfolgreich gespeichert!"
  saved_reload: "Einstellungen erfolgreich gespeichert!\n\nDie Sprache wurde geändert. Möchten Sie die Seite jetzt neu laden, um die Änderungen anzuwenden?"
  error: "Fehler: {message}"
  network_error: "Netzwerkfehler. Bitte versuchen Sie es erneut."
  sync_title: "Ihre Einstellungen sind synchronisiert"
  sync_desc: "Ihre Anzeigeeinstellungen werden gespeichert und automatisch auf allen Geräten angewendet, die mit Ihrem Konto verbunden sind."
  preview_dark: "Vorschau: Dunkles Design wird angewendet"
  preview_light: "Vorschau: Helles Design wird angewendet"
  preview_auto: "Vorschau: Automatisches Design wird angewendet"

# Profil
profile:
  title: "Mein Profil"
  page_title: "Mein Profil"
  subtitle: "Bearbeiten Sie Ihre persönlichen Informationen"
  account_info: "Kontoinformationen"
  username: "Benutzername"
  username_public: "Öffentlich sichtbar"
  username_placeholder: "Ihr Benutzername"
  username_pattern: "Nur Kleinbuchstaben, Ziffern und Bindestriche, 3 bis 39 Zeichen"
  email: "E-Mail"
  email_placeholder: "ihre@email.de"
  save: "Änderungen speichern"
  saving: "Speichern..."
  saved: "Profil erfolgreich aktualisiert"
  error: "Fehler beim Aktualisieren des Profils"
  email_label: "E-Mail-Adresse"
  email_used_for: "Wird für die Anmeldung verwendet"
  email_warning: "Die aktuelle Adresse wird hier nicht geändert."
  email_change_info: "Ein Bestätigungslink geht an die neue Adresse. Die aktuelle Adresse erhält einen Hinweis. Das Konto ändert sich erst nach der Bestätigung."
  email_change_title: "E-Mail-Adresse ändern"
  new_email_label: "Neue Adresse"
  current_password_label: "Aktuelles Passwort"
  request_button: "Änderung anfordern"
  email_change_error: "Die Anfrage konnte nicht gesendet werden."
  network_error: "Netzwerkfehler. Bitte versuchen Sie es erneut."
  username_help: "3 bis 39 Zeichen (a-z, 0-9, -)"
  additional_info: "Zusätzliche Informationen"
  account_created: "Konto erstellt am"
  roles: "Rollen"
  linked_accounts_title: "Verknüpfte Konten"
  no_linked_accounts: "Keine externen Konten verknüpft."
  linked_since: "Verknüpft seit"
  unlink_button: "Trennen"
  unlink_confirm: "Möchten Sie dieses Konto wirklich trennen?"
  unlink_error: "Dieses Konto konnte nicht getrennt werden."
  cannot_unlink_last: "Ihre letzte Authentifizierungsmethode kann nicht entfernt werden."

# Breadcrumb
breadcrumb:
  home: "Startseite"
  settings: "Einstellungen"
  admin: "Verwaltung"
  preferences: "Präferenzen"
  profile: "Profil"
  password: "Passwort"
  sessions: "Sitzungen"

# Admin
admin:
  dashboard:
    title: "Verwaltung"
    heading: "Administrator-Dashboard"
    users_card_title: "Benutzer"
    users_card_subtitle: "Benutzer gesamt"
    access_button: "Zugreifen"
    sessions_card_title: "Aktive Sitzungen"
    sessions_card_subtitle: "Laufende Sitzungen"
    admins_card_title: "Administratoren"
    admins_card_subtitle: "Admin-Konten"
    last_activity_card_title: "Letzte Aktivität"
    last_activity_card_subtitle: "Letzte Anmeldung"
    audit_section_title: "Audit-Log-Statistiken"
    audit_total_logs: "Logs gesamt"
    audit_last_24h: "Letzte 24h"
    audit_by_level: "Nach Stufe"
    chart_label: "Logs nach Stufe"
    view_logs: "Logs ansehen"
    logs_card_title: "Audit-Logs"
    logs_card_desc: "Letzte aufgezeichnete Aktionen: E-Mail-Änderungen, blockierte Anmeldungen."
    roles_card_title: "Rollenverwaltung"
    roles_card_desc: "Rollen und granulare Berechtigungen verwalten"
    roles_stat_title: "Rollen"
    settings_card_title: "Anwendungseinstellungen"
    settings_card_desc: "Globale Anwendungseinstellungen konfigurieren"
    apps_card_title: "Anwendungsverwaltung"
    apps_card_desc: "Modulare Anwendungen aktivieren oder deaktivieren"
    orgs_card_title: "Organisationsverwaltung"
    orgs_card_desc: "Organisationen und deren Mitglieder erstellen und verwalten"
    orgs_stat_title: "Organisationen"
    orgs_members_stat_title: "Mitglieder gesamt"
  logs:
    page_title: "Audit-Logs"
    heading: "Audit-Logs"
    empty: "Noch keine Einträge."
    col_date: "Datum"
    col_level: "Stufe"
    col_action: "Aktion"
    col_message: "Nachricht"
  roles_list:
    page_title: "Rollenverwaltung"
    breadcrumb_roles: "Rollen"
    title: "Rollen"
    create_role: "Rolle erstellen"
    table_name: "Name"
    table_description: "Beschreibung"
    table_users: "Benutzer"
    table_permissions: "Berechtigungen"
    table_actions: "Aktionen"
    edit: "Bearbeiten"
    delete: "Löschen"
    no_roles: "Keine Rollen gefunden."
    protected_hint: "Geschützt"
    delete_confirm_title: "Löschen bestätigen"
    delete_confirm_message: "Möchten Sie die Rolle wirklich löschen"
    delete_button: "Löschen"
  role_form:
    title_create: "Rolle erstellen"
    title_edit: "Rolle bearbeiten"
    breadcrumb_create: "Erstellen"
    breadcrumb_edit: "Bearbeiten"
    back_to_list: "Zurück zur Liste"
    name_label: "Rollenname"
    name_placeholder: "z.B. moderator"
    description_label: "Beschreibung"
    description_placeholder: "Rollenbeschreibung..."
    permissions_label: "Berechtigungen"
    protected_name_hint: "Der Name dieser Rolle kann nicht geändert werden."
    cancel: "Abbrechen"
    submit_create: "Rolle erstellen"
    submit_edit: "Änderungen speichern"
  errors:
    title: "Fehlercodes"
    description: "Dokumentation der Anwendungsfehlercodes. Jeder Fehlercode ist mit einer Middleware verknüpft und liefert Kontextinformationen für die Fehlersuche."
    breadcrumb_errors: "Fehlercodes"
    table_code: "Code"
    table_description: "Beschreibung"
    table_category: "Kategorie"
    table_middleware: "Middleware"
    table_context: "Kontext"
    table_example: "Beispiel"
    legend_title: "Legende"
    legend_code: "Eindeutige Fehler-ID (Format: CATEGORY_NUMBER)"
    legend_description: "Beschreibung des Fehlers"
    legend_category: "Fehlertyp (Authentifizierung, CSRF, Rate Limiting, etc.)"
    legend_middleware: "Middleware, die diesen Fehler erzeugt"
    legend_context: "Detaillierte Erklärung, wann dieser Fehler auftritt"
    legend_example: "Konkretes Beispiel einer Situation, die diesen Fehler erzeugt"
    error_auth001_desc: "Ungültige Anmeldedaten"
    error_auth001_category: "Authentifizierung"
    error_auth001_context: "Der Benutzer hat bei der Anmeldung falsche Anmeldedaten eingegeben"
    error_auth001_example: "Anmeldeversuch mit falschem Passwort"
    error_auth002_desc: "Ungültiges Token"
    error_auth002_category: "Authentifizierung"
    error_auth002_context: "Das bereitgestellte JWT-Token ist ungültig oder fehlerhaft"
    error_auth002_example: "Beschädigtes JWT-Token oder mit anderem Schlüssel signiert"
    error_auth003_desc: "Token abgelaufen"
    error_auth003_category: "Authentifizierung"
    error_auth003_context: "Das JWT-Token ist abgelaufen und muss erneuert werden"
    error_auth003_example: "Zugriffsversuch mit abgelaufenem Token nach der Gültigkeitsdauer"
    error_csrf001_desc: "CSRF-Token fehlt"
    error_csrf001_category: "CSRF-Schutz"
    error_csrf001_context: "Die POST/PUT/DELETE-Anfrage enthält kein CSRF-Token"
    error_csrf001_example: "Formular ohne CSRF-Token im Header oder Body abgesendet"
    error_csrf002_desc: "Ungültiges CSRF-Token"
    error_csrf002_category: "CSRF-Schutz"
    error_csrf002_context: "Das bereitgestellte CSRF-Token stimmt nicht mit dem Sitzungs-Token überein"
    error_csrf002_example: "Geändertes oder gestohlenes CSRF-Token"
    error_rate001_desc: "Ratenlimit überschritten"
    error_rate001_category: "Rate Limiting"
    error_rate001_context: "Die Anzahl der Anfragen pro Minute wurde überschritten"
    error_rate001_example: "Mehr als 100 Anfragen/Min auf Admin-Endpunkten"
    error_valid001_desc: "Ungültige Eingabedaten"
    error_valid001_category: "Validierung"
    error_valid001_context: "Die bereitgestellten Daten entsprechen nicht den Validierungsregeln"
    error_valid001_example: "Ungültiges E-Mail-Format oder fehlendes Pflichtfeld"
    error_valid002_desc: "Passwortkomplexität nicht erfüllt"
    error_valid002_category: "Validierung"
    error_valid002_context: "Das Passwort erfüllt nicht die konfigurierten Komplexitätsregeln"
    error_valid002_example: "Passwort zu kurz oder fehlende erforderliche Zeichen"
    error_rbac001_desc: "Unzureichende Berechtigungen"
    error_rbac001_category: "Autorisierung"
    error_rbac001_context: "Der Benutzer hat nicht die erforderlichen Berechtigungen für diese Aktion"
    error_rbac001_example: "Nicht-Admin-Benutzer versucht auf /admin/users zuzugreifen"
    error_rbac002_desc: "Administratorrolle erforderlich"
    error_rbac002_category: "Autorisierung"
    error_rbac002_context: "Die Aktion erfordert eine Administratorrolle"
    error_rbac002_example: "Versuch einen Benutzer ohne Admin-Rolle zu löschen"
    error_db001_desc: "Datenbankoperationsfehler"
    error_db001_category: "Datenbank"
    error_db001_context: "Eine Datenbankoperation ist fehlgeschlagen"
    error_db001_example: "Fremdschlüssel-Constraint verletzt oder DB-Verbindung verloren"
    error_db002_desc: "Ressource nicht gefunden"
    error_db002_category: "Datenbank"
    error_db002_context: "Die angeforderte Ressource existiert nicht in der Datenbank"
    error_db002_example: "Benutzer mit nicht existierender ID"
  user_form:
    breadcrumb_create: "Erstellen"
    breadcrumb_edit: "Bearbeiten"
    title_create: "Benutzer erstellen"
    title_edit: "Benutzer bearbeiten"
    back_to_list: "Zurück zur Liste"
    username_label: "Benutzername"
    username_placeholder: "benutzername"
    username_pattern: "Nur Kleinbuchstaben, Ziffern und Bindestriche, 3 bis 39 Zeichen"
    username_readonly_hint: "Der Benutzername kann nach der Erstellung nicht geändert werden"
    email_label: "E-Mail"
    email_placeholder: "benutzer@example.com"
    email_change_hint: "Das Ändern der Adresse schreibt sie sofort, markiert die E-Mail als bestätigt und beendet die Sitzungen dieses Benutzers."
    password_label: "Passwort"
    password_optional: "Optional"
    password_placeholder: "Leer lassen, um ein zufälliges Passwort zu generieren"
    password_hint: "Wenn leer gelassen, wird automatisch ein sicheres Passwort generiert"
    roles_label: "Rollen"
    roles_hint: "Wählen Sie mindestens eine Rolle"
    must_change_password_label: "Passwortänderung erzwingen"
    must_change_password_desc: "Der Benutzer muss sein Passwort bei der nächsten Anmeldung ändern"
    cancel: "Abbrechen"
    submit_create: "Benutzer erstellen"
    submit_edit: "Änderungen speichern"
  settings:
    title: "Anwendungseinstellungen"
    page_title: "Anwendungseinstellungen - Admin"
    subtitle: "Globale Anwendungskonfiguration"
    general: "Allgemein"
    app_name: "Anwendungsname"
    app_domain: "Domäne"
    app_domain_placeholder: "example.com"
    app_description: "Beschreibung"
    allow_registration: "Registrierung erlauben"
    allow_registration_desc: "Benutzer können Konten von der Startseite aus erstellen"
    email_validation_required: "E-Mail-Validierung erforderlich"
    email_validation_required_desc: "Benutzer müssen ihre E-Mail validieren, bevor sie sich anmelden können"
    save: "Einstellungen speichern"
    cancel: "Abbrechen"
    saved: "Einstellungen erfolgreich gespeichert"
    error: "Fehler beim Speichern der Einstellungen"
    network_error: "Netzwerkfehler. Bitte versuchen Sie es erneut."
    password_security: "Passwortsicherheit"
    password_min_length: "Mindestlänge"
    password_min_length_hint: "Zwischen 6 und 128 Zeichen"
    password_complexity: "Komplexitätsanforderungen"
    require_uppercase: "Großbuchstabe erforderlich"
    require_lowercase: "Kleinbuchstabe erforderlich"
    require_digits: "Ziffer erforderlich"
    require_special: "Sonderzeichen erforderlich"
    password_change_require_email: "E-Mail-Bestätigung für Passwortänderung"
    password_change_require_email_desc: "Wenn aktiviert, wird eine Bestätigungs-E-Mail gesendet, um jede Passwortänderung zu validieren. Andernfalls wird die Änderung sofort angewendet."
    password_expiration: "Passwortablauf"
    password_expiration_desc: "Periodische Passwortänderung erzwingen"
    expiration_days: "Ablauf nach (Tagen)"
    expiration_alert: "E-Mail-Warnung vor Ablauf"
    expiration_alert_days: "Warnung (Tage vorher)"
    audit_logging: "Audit-Protokollierung"
    log_level: "Protokollebene"
    log_level_debug: "DEBUG - Alle Details"
    log_level_info: "INFO - Normale Informationen"
    log_level_warn: "WARN - Nur Warnungen"
    log_level_error: "ERROR - Nur Fehler"
    log_level_hint: "Steuert die Ausführlichkeit der Audit-Logs"
    log_retention: "Log-Aufbewahrung (Tage)"
    log_retention_hint: "Aufbewahrungsdauer der Logs (1-365 Tage)"
    audit_info_message: "Audit-Logs zeichnen alle administrativen Aktionen auf (Erstellung, Änderung, Löschung von Benutzern)."
    save_changes: "Änderungen speichern"
    save_changes_desc: "Einstellungen werden sofort angewendet"
    saving: "Speichern..."
    save_success: "Einstellungen erfolgreich gespeichert!"
    save_error_prefix: "Fehler"
    # OAuth / SSO admin settings
    oauth_sso_title: "OAuth / SSO"
    oauth_enabled_label: "OAuth aktivieren"
    oauth_enabled_desc: "Anmeldung über externe Anbieter erlauben (Google, GitHub, etc.)"
    oauth_redirect_url_label: "Basis-Weiterleitungs-URL"
    oauth_redirect_url_desc: "Basis-URL für OAuth-Callbacks (z.B. https://meineapp.example.com)"
    oauth_auto_register_label: "Automatische Registrierung"
    oauth_auto_register_desc: "Automatisch ein Konto erstellen, wenn die E-Mail nicht existiert"
    oauth_link_existing_label: "Bestehende Konten verknüpfen"
    oauth_link_existing_desc: "Automatisch ein OAuth-Konto verknüpfen, wenn die verifizierte E-Mail übereinstimmt"
    oauth_client_id: "Client-ID"
    oauth_client_secret: "Client-Secret"
    oauth_tenant: "Mandanten-ID"
    oauth_redirect_uri: "Weiterleitungs-URI"
    oauth_copy_uri: "Kopieren"
    oauth_secret_configured: "Konfiguriert"
    oauth_secret_not_configured: "Nicht konfiguriert"
    oauth_secret_change: "Ändern"
    oauth_restart_warning: "Änderungen an Anmeldedaten erfordern einen Neustart der Anwendung."
    oauth_env_info: "Anmeldedaten können auch über Umgebungsvariablen gesetzt werden (OAUTH_*_CLIENT_ID, etc.)."
    oauth_google_label: "Google"
    oauth_google_desc: "OpenID Connect"
    oauth_github_label: "GitHub"
    oauth_github_desc: "OAuth2"
    oauth_discord_label: "Discord"
    oauth_discord_desc: "OAuth2"
    oauth_microsoft_label: "Microsoft"
    oauth_microsoft_desc: "OpenID Connect"
    # Audience measurement. The script URL is read-only here: it feeds
    # the CSP, which is frozen at startup (see config::analytics).
    analytics_title: 'Reichweitenmessung'
    analytics_desc: 'Tracking-Skript eines Drittanbieters, das in die Seiten eingebunden wird. Die Skriptadresse wird über eine Umgebungsvariable konfiguriert; die folgenden Einstellungen gelten ohne Neustart.'
    analytics_enabled_label: 'Reichweitenmessung aktivieren'
    analytics_enabled_desc: 'Wenn deaktiviert, wird den Besuchern kein Tracking-Skript ausgeliefert.'
    analytics_site_id_label: 'Site-Kennung'
    analytics_site_id_desc: 'Von Ihrem Dienst zur Reichweitenmessung bereitgestellt.'
    analytics_attributes_label: 'Zusätzliche Attribute'
    analytics_attributes_desc: 'Ein JSON-Objekt mit data-*-Attributen, zum Beispiel ein Paar data-consent / opt-in.'
    analytics_script_url_label: 'Skriptadresse'
    analytics_script_url_desc: 'Schreibgeschützt: Diese Adresse fließt in die Content Security Policy ein, die beim Start festgelegt wird. Konfiguration über ANALYTICS_SCRIPT_URL.'
    analytics_not_configured: 'Es ist kein Skript zur Reichweitenmessung konfiguriert. Setzen Sie ANALYTICS_SCRIPT_URL und starten Sie die Anwendung neu, um diesen Bereich zu aktivieren.'
  users_list:
    page_title: "Benutzerverwaltung - Admin"
    title: "Benutzerverwaltung"
    breadcrumb_users: "Benutzer"
    create_user: "Benutzer erstellen"
    search_label: "Suchen"
    search_placeholder: "Benutzername oder E-Mail..."
    role_filter_label: "Rolle"
    all_roles: "Alle Rollen"
    per_page_label: "Pro Seite"
    search_button: "Suchen"
    results_summary: "Anzeige von {count} Benutzer(n) von {total} insgesamt"
    page_info: "Seite {page} von {total_pages}"
    table_username: "Benutzername"
    table_email: "E-Mail"
    table_roles: "Rollen"
    table_created_at: "Erstellt am"
    table_last_login: "Letzte Anmeldung"
    table_actions: "Aktionen"
    never: "Nie"
    edit: "Bearbeiten"
    no_users: "Keine Benutzer gefunden"
    reset_password_title: "Passwort zurücksetzen"
    reset_generate: "Zufälliges Passwort generieren"
    reset_custom: "Benutzerdefiniertes Passwort festlegen"
    reset_new_password_label: "Neues Passwort"
    reset_new_password_placeholder: "Mindestens 8 Zeichen, Großbuchstabe, Kleinbuchstabe, Ziffer, Sonderzeichen"
    reset_password_requirements: "⚠️ Muss enthalten: 8+ Zeichen, Großbuchstabe, Kleinbuchstabe, Ziffer, Sonderzeichen"
    reset_invalidate_sessions: "Alle aktiven Sitzungen für diesen Benutzer ungültig machen"
    reset_invalidate_sessions_desc: "Der Benutzer muss sich nach der Änderung erneut anmelden"
    reset_button: "Zurücksetzen"
    delete_confirm_title: "⚠️ Löschung bestätigen"
    delete_confirm_message: "Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?"
    delete_confirm_username: "Benutzername:"
    delete_confirm_email: "E-Mail:"
    delete_irreversible: "Diese Aktion ist unwiderruflich!"
    delete_button: "Endgültig löschen"
    delete: "Löschen"
    delete_error: "Fehler beim Löschen des Benutzers"
    network_error: "Netzwerkfehler"
    edit_user_title: "Benutzer bearbeiten"
    resetting: "Zurücksetzen..."
    reset_by_email_title: "Zurücksetzen per E-Mail"
    reset_email: "Per E-Mail zurücksetzen"
    close: "Schließen"
    password_reset_success_title: "Passwort zurückgesetzt"
    password_warning_once: "Dieses Passwort wird nur einmal angezeigt. Kopieren Sie es jetzt!"
    new_password_label: "Neues Passwort"
    copy: "Kopieren"
    password_copied: "Passwort in die Zwischenablage kopiert"
    password_set_success: "Passwort erfolgreich zurückgesetzt"
    reset_error: "Fehler beim Zurücksetzen des Passworts"

# Passwort ändern
password:
  title: "Mein Passwort ändern"
  page_title: "Mein Passwort ändern"
  subtitle: "Ändern Sie Ihr Passwort, um Ihr Konto zu sichern. Eine Bestätigungs-E-Mail wird gesendet, um die Änderung zu validieren."
  subtitle_no_email: "Ändern Sie Ihr Passwort, um Ihr Konto zu sichern."
  must_change_message: "⚠️ Sie müssen Ihr Passwort ändern, bevor Sie fortfahren können."
  new_password: "Neues Passwort"
  current_password: "Aktuelles Passwort"
  current_password_placeholder: "Ihr aktuelles Passwort"
  new_password_placeholder: "Sicheres neues Passwort"
  required: "Erforderlich"
  requirements: "📌 Anforderungen: 8+ Zeichen, Großbuchstabe, Kleinbuchstabe, Ziffer, Sonderzeichen"
  strength: "Passwortstärke:"
  strength_weak: "Schwach"
  strength_medium: "Mittel"
  strength_strong: "Stark ✓"
  strength_too_short: "zu kurz"
  strength_missing_lowercase: "Kleinbuchstabe fehlt"
  strength_missing_uppercase: "Großbuchstabe fehlt"
  strength_missing_digit: "Ziffer fehlt"
  strength_missing_special: "Sonderzeichen fehlt"
  confirm_password: "Neues Passwort bestätigen"
  confirm_password_placeholder: "Wiederholen Sie das neue Passwort"
  passwords_match: "✓ Passwörter stimmen überein"
  passwords_not_match: "✗ Passwörter stimmen nicht überein"
  change_button: "Passwort ändern"
  changing: "Änderung läuft..."
  logout_warning_title: "Abmeldung von anderen Sitzungen"
  logout_warning_desc: "Alle Ihre anderen aktiven Sitzungen werden nach der Passwortänderung automatisch abgemeldet. Nur Ihre aktuelle Sitzung bleibt aktiv."
  save: "Neues Passwort speichern"
  saving: "Speichern..."
  saved: "Eine Bestätigungs-E-Mail wurde an Ihre Adresse gesendet. Klicken Sie auf den Link in der E-Mail, um die Passwortänderung zu bestätigen."
  saved_direct: "Passwort erfolgreich geändert! Ihre anderen Sitzungen wurden abgemeldet."
  error: "Fehler beim Ändern des Passworts"
  error_all_fields_required: "Alle Felder sind erforderlich."
  error_empty_data: "Die zu sendenden Daten sind leer."
  error_invalid_data: "Ungültige Daten. Überprüfen Sie, ob alle Felder ausgefüllt sind."
  error_incorrect_current: "Aktuelles Passwort ist falsch."
  error_reading_response: "Fehler beim Lesen der Serverantwort"
  error_415: "Fehler 415: Der Server hat die Daten nicht im erwarteten JSON-Format erhalten. Bitte versuchen Sie es erneut."
  network_error: "Netzwerkfehler. Bitte versuchen Sie es erneut."
  security_tips_title: "Sicherheitstipps"
  security_tip_unique: "Verwenden Sie ein eindeutiges Passwort, das Sie nicht anderswo verwenden"
  security_tip_share: "Teilen Sie Ihr Passwort niemals mit jemandem"
  security_tip_regular: "Ändern Sie Ihr Passwort regelmäßig (alle 3-6 Monate)"
  security_tip_2fa: "Aktivieren Sie die Zwei-Faktor-Authentifizierung, falls verfügbar"
  security_tip_manager: "Verwenden Sie einen Passwort-Manager für mehr Sicherheit"

# Sitzungen
sessions:
  title: "Aktive Sitzungen"
  page_title: "Aktive Sitzungen"
  subtitle: "Verwalten Sie Geräte, die mit Ihrem Konto verbunden sind"
  current_session: "Aktuelle Sitzung"
  current_badge: "Aktuell"
  unknown_device: "Unbekanntes Gerät"
  ip_address: "IP-Adresse:"
  created_at: "Erstellt am:"
  last_activity: "Letzte Aktivität:"
  session_id: "Sitzungs-ID:"
  revoke: "Widerrufen"
  revoke_confirm: "Sind Sie sicher, dass Sie die Sitzung für \"{device}\" widerrufen möchten?\n\nDieses Gerät wird sofort getrennt."
  revoke_success: "Sitzung erfolgreich widerrufen!"
  revoke_error: "Fehler beim Widerrufen der Sitzung"
  no_sessions: "Keine aktiven Sitzungen"
  no_sessions_desc: "Sie haben derzeit keine aktiven Sitzungen"
  danger_zone: "Gefahrenzone"
  danger_zone_desc: "Trennen Sie alle anderen Geräte in einer Aktion (Ihre aktuelle Sitzung bleibt aktiv)."
  revoke_all: "Alle anderen Sitzungen widerrufen"
  revoke_all_confirm: "⚠️ WARNUNG\n\nSind Sie sicher, dass Sie ALLE Ihre anderen Sitzungen widerrufen möchten?\n\nAlle Ihre anderen Geräte werden getrennt. Nur Ihre aktuelle Sitzung bleibt aktiv."
  revoke_all_success: "Alle anderen Sitzungen wurden widerrufen!"
  revoke_all_error: "Fehler beim Widerrufen. Einige Sitzungen wurden möglicherweise nicht widerrufen."
  about_title: "Über Sitzungen"
  about_desc: "Eine Sitzung wird bei jeder Anmeldung von einem anderen Gerät oder Browser erstellt. Das Widerrufen einer Sitzung trennt dieses Gerät sofort. Ihre aktuelle Sitzung kann von dieser Seite nicht widerrufen werden (melden Sie sich ab, um dies zu tun)."
  back_to_settings: "Zurück zu den Einstellungen"

# Navigation menu (navbar)
nav:
  home: "Startseite"
  settings: "Einstellungen"
  admin: "Administration"

# User menu
user_menu:
  profile: "Profil"
  logout: "Abmelden"
  settings: "Einstellungen"

# ActivityPub-Föderation - RFC 0021 Admin-Grundlagen
fediverse:
  settings:
    title: "Föderationseinstellungen"
    breadcrumb: "Föderation"
    heading: "ActivityPub-Föderationseinstellungen"
    subtitle: "Aktivieren und konfigurieren Sie die Föderation mit anderen Rustwarden-Instanzen und ActivityPub-kompatiblen Servern. Experimentelle Funktion."
    card_activation: "Aktivierung"
    card_trust: "Vertrauen"
    card_interop: "Interoperabilität"
    card_security: "Erweiterte Sicherheit"
    enabled_label: "ActivityPub-Föderation aktivieren (experimentell)"
    enabled_desc: "Bei Deaktivierung geben /admin/fediverse/*-Routen außer dieser Seite 404 zurück."
    trust_mode_label: "Vertrauensmodus"
    trust_mode_allowlist: "Allowlist (Zero-Trust, empfohlen)"
    trust_mode_open: "Offen mit Blocklist (Mastodon-Stil)"
    interop_scope_label: "Interoperabilitäts-Geltungsbereich"
    interop_scope_rustwarden_only: "Nur Rustwarden (höfliche Ablehnung anderer Instanzen)"
    interop_scope_rustwarden_plus: "Rustwarden + universelles Lesen"
    interop_scope_open: "Offen (jede ActivityPub-Instanz)"
    authorized_fetch_label: "Authorized-fetch"
    authorized_fetch_desc: "HTTP-Signatur zum Abrufen eines entfernten Akteurs erforderlich. Nach Audit aktivieren."
    save_button: "Speichern"
    saved_toast: "Einstellungen gespeichert."
  trust:
    title: "Vertrauenswürdige Domains"
    breadcrumb: "Vertrauen"
    heading: "Föderations-Vertrauensliste"
    subtitle: "Verwalten Sie die für die ActivityPub-Föderation akzeptierten oder blockierten Domains. Der aktive Modus (Allowlist oder Blocklist) wird auf der Seite Föderationseinstellungen festgelegt."
    mode_allowlist: "Allowlist-Modus (Zero-Trust)"
    mode_blocklist: "Blocklist-Modus (Mastodon-Stil)"
    add_legend: "Domain hinzufügen"
    domain_label: "Domain"
    domain_placeholder: "beispiel.tld"
    note_label: "Notiz (optional)"
    reason_label: "Blockierungsgrund (optional)"
    severity_label: "Schweregrad"
    severity_suspend: "Suspendieren (vollständige Ablehnung)"
    severity_silence: "Stummschalten (stille Filterung)"
    severity_reject_auth: "Nur Authentifizierung ablehnen"
    add_button: "Hinzufügen"
    table_domain: "Domain"
    table_note_or_reason: "Notiz / Grund"
    table_severity: "Schweregrad"
    table_created_at: "Hinzugefügt am"
    table_actions: "Aktionen"
    delete_button: "Löschen"
    delete_confirm_title: "Löschung bestätigen"
    delete_confirm_body: "Diese Aktion ist unwiderruflich. Die unten stehende Domain wird aus der aktiven Liste entfernt."
    modal_cancel: "Abbrechen"
    modal_confirm: "Löschung bestätigen"
    empty_title: "Leere Liste"
    empty_body: "Keine Domain konfiguriert. Fügen Sie eine hinzu, um mit der Föderation zu beginnen."
    saved_toast: "Liste aktualisiert."
  auth:
    error:
      page_title: "Fehler bei der föderierten Authentifizierung"
      subtitle: "Bei der ActivityPub-Authentifizierung ist ein Fehler aufgetreten."
      back_to_login: "Zurück zur Anmeldung"
      timeout:
        title: "Zeitüberschreitung der Anfrage"
        body: "Ihre Ursprungsinstanz hat nicht rechtzeitig geantwortet. Stellen Sie sicher, dass sie erreichbar ist, und versuchen Sie es in Kürze erneut."
      rejected:
        title: "Anfrage abgelehnt"
        body: "Ihre Ursprungsinstanz hat die Authentifizierungsanfrage abgelehnt. Wenn Sie diesen Versuch nicht initiiert haben, können Sie ihn ignorieren."
      untrusted:
        title: "Nicht vertrauenswürdige Domain"
        body: "Die Domain Ihrer Identität ist nicht in der Vertrauensliste dieser Instanz. Wenden Sie sich an den Administrator, wenn Sie glauben, dass dies ein Fehler ist."
      invalid_signature:
        title: "Ungültige Signatur"
        body: "Die Signatur Ihrer Ursprungsinstanz konnte nicht verifiziert werden. Dies kann auf eine Fehlkonfiguration oder einen böswilligen Versuch hinweisen."
      unknown:
        title: "Unbekannter Fehler"
        body: "Ein unerwarteter Fehler ist aufgetreten. Versuchen Sie es erneut oder wenden Sie sich an den Administrator, wenn das Problem weiterhin besteht."
    login:
      page_title: "ActivityPub-Anmeldung"
      subtitle: "Melden Sie sich mit einer Identität an, die auf einer anderen föderierten Instanz gehostet wird."
      heading: "Mit einer ActivityPub-Identität anmelden"
      field_label: "Identität"
      field_placeholder: "@user@instance.tld"
      field_help: "Mastodon-Format: @ gefolgt vom Benutzernamen, dann @, dann die Instanz-Domain."
      submit: "Weiter"
      back_to_login: "Zurück zur klassischen Anmeldung"
    waiting:
      page_title: "Anmeldung läuft"
      subtitle: "Bitte warten Sie, während Ihre Ursprungsinstanz die Anfrage genehmigt."
      heading: "Anmeldung läuft…"
      explainer: "Ihre Ursprungsinstanz muss Ihre Identität bestätigen. Diese Seite wird automatisch aktualisiert, sobald eine Antwort eintrifft (bis zu 5 Minuten)."
      cancel: "Abbrechen"
    consent:
      page_title: "Föderierte Anmeldung bestätigen"
      heading: "Eine Instanz fordert eine Authentifizierung an"
      explainer: "Eine föderierte Instanz möchte Sie auf ihrer Seite authentifizieren. Überprüfen Sie die Domain und die Identität unten, bevor Sie genehmigen."
      label_requester: "Anfragende Domain"
      label_handle: "Betroffene Identität"
      approve: "Genehmigen"
      reject: "Ablehnen"
      already_decided: "Diese Anfrage wurde bereits bearbeitet."
  queue:
    title: "Föderations-Ausgangswarteschlange"
    breadcrumb: "Ausgangswarteschlange"
    heading: "Ausgehende Zustellungen"
    subtitle: "Dashboard der ActivityPub-Aktivitäten, die an entfernte Instanzen verteilt werden sollen. Die letzten 100 Zeilen werden angezeigt."
    stats_pending: "Ausstehend"
    stats_delivered: "Zugestellt"
    stats_failed: "Fehlgeschlagen"
    stats_dead: "Tot"
    table_activity: "Aktivität"
    table_target: "Ziel"
    table_status: "Status"
    table_attempts: "Versuche"
    table_last_error: "Letzter Fehler"
    table_next_retry: "Nächster Versuch"
    table_created_at: "Erstellt am"
    empty_title: "Leere Warteschlange"
    empty_body: "Keine ausgehende Aktivität. Der Worker ist gesund oder die Föderation hat noch keine Aktivität erzeugt."
  sessions_remote:
    title: "Entfernte Sitzungen"
    breadcrumb: "Entfernte Sitzungen"
    heading: "Aktive entfernte Sitzungen"
    subtitle: "Föderierte Identitäten, die diese Instanz kontaktiert haben und nicht deaktiviert sind. Widerrufen = als deaktiviert markieren (entsprechende entfernte JWT-Sitzungen werden abgelehnt)."
    kill_switch_legend: "Kill-Switch pro Domain"
    kill_switch_label: "Alle Identitäten einer Domain deaktivieren"
    kill_switch_button: "Domain abschalten"
    kill_switch_confirm_title: "Kill-Switch bestätigen"
    kill_switch_confirm_body: "Alle föderierten Identitäten für die unten stehende Domain werden als deaktiviert markiert. Diese Aktion ist von der UI aus unwiderruflich (eine neue föderierte Anmeldung erstellt die Zeile neu)."
    table_handle: "Handle"
    table_display_name: "Anzeigename"
    table_domain: "Domain"
    table_last_seen: "Zuletzt gesehen"
    table_actions: "Aktionen"
    revoke_button: "Widerrufen"
    revoke_confirm_title: "Widerruf bestätigen"
    revoke_confirm_body: "Diese Identität wird als deaktiviert markiert. Die nächste entfernte JWT-Prüfung wird sie ablehnen."
    modal_cancel: "Abbrechen"
    modal_confirm: "Bestätigen"
    empty_title: "Keine entfernten Sitzungen"
    empty_body: "Noch keine föderierte Identität hat diese Instanz kontaktiert, oder alle wurden deaktiviert."
    saved_toast: "Aktion abgeschlossen."
  admin:
    tabs:
      settings: "Einstellungen"
      trust_list: "Vertrauensliste"
      queue: "Ausgangswarteschlange"
      sessions_remote: "Entfernte Sitzungen"
      nodeinfo: "NodeInfo"
      invites: "Einladungen"
    hub:
      title: "ActivityPub-Föderation"
      subtitle: "Zentrales Dashboard zur Steuerung der Föderation mit anderen Rustwarden- und ActivityPub-kompatiblen Instanzen."
      card:
        settings:
          title: "Einstellungen"
          desc: "Föderation aktivieren, Vertrauensmodus, Interop-Bereich und Authorized-Fetch wählen."
        trust_list:
          title: "Vertrauensliste"
          desc: "Akzeptierte (Allowlist) oder blockierte (Blocklist) Domains verwalten."
        queue:
          title: "Ausgangswarteschlange"
          desc: "Operator-Dashboard für die ausgehende Lieferwarteschlange (RFC 0011 + RFC 0019)."
        sessions_remote:
          title: "Entfernte Sitzungen"
          desc: "Aktive föderierte Identitäten, Kill-Switch pro Identität oder pro Domain."
        nodeinfo:
          title: "NodeInfo"
          desc: "Humanisierte Statistiken der föderierten Instanz (NodeInfo 2.1)."
        invites:
          title: "Einladungen"
          desc: "Ein entferntes Konto in ein Team einladen (Ansicht pro Team)."
    teams_for_invites:
      title: "Team auswählen, um seine Einladungen zu verwalten"
      breadcrumb: "Einladungen"
      heading: "Föderierte Einladungen pro Team"
      subtitle: "Wählen Sie ein Team aus, um Einladungen für entfernte Konten anzuzeigen und zu erstellen."
      empty_title: "Kein Team"
      empty_body: "Erstellen Sie zuerst ein Team, um föderierte Konten einladen zu können."

# NodeInfo-Statistiken (RFC 0024 Slice C iter. 3). Dediziertes
# Top-Level-Namespace, um `fediverse:` nicht erneut zu öffnen
# (was settings/trust/auth/queue/sessions_remote unter yaml-rust2
# überschreiben würde).
fediverse_nodeinfo:
  title: "NodeInfo - Föderationsstatistiken"
  breadcrumb: "NodeInfo"
  heading: "NodeInfo - Humanisierte Statistiken"
  subtitle: "Übersicht der Runtime-Konfiguration + Statistiken zu lokalen Benutzern und entfernten Identitäten."
  card_software: "Software"
  card_runtime: "Runtime-Konfiguration"
  card_users: "Lokale Benutzer"
  card_remotes: "Entfernte Identitäten"
  label_name: "Name"
  label_version: "Version"
  label_domain: "Domain"
  label_enabled: "Föderation aktiviert"
  label_trust_mode: "Vertrauensmodus"
  label_interop_scope: "Interop-Geltungsbereich"
  label_authorized_fetch: "Authorized-fetch"
  label_users_total: "Gesamt"
  label_users_active_month: "Aktiv 30 Tage"
  label_users_active_halfyear: "Aktiv 180 Tage"
  label_remote_identities_active: "Aktiv"
  label_remote_distinct_domains: "Unterschiedliche Domains"

# Instanzübergreifende Team-Einladungen (RFC 0024 Slice C iter. 4).
fediverse_invites:
  title: "Föderierte Team-Einladungen"
  breadcrumb: "Einladungen"
  heading: "Instanzübergreifende Einladungen"
  subtitle: "Laden Sie eine ActivityPub-Identität ein, dem Team beizutreten:"
  add_legend: "Per Handle einladen"
  handle_label: "Benutzer-Handle"
  handle_placeholder: "@user@instance.tld"
  role_label: "Rolle"
  role_member: "Mitglied"
  role_admin: "Administrator"
  role_owner: "Eigentümer"
  add_button: "Einladung senden"
  table_handle: "Eingeladener Handle"
  table_role: "Rolle"
  table_status: "Status"
  table_created_at: "Gesendet am"
  table_actions: "Aktionen"
  revoke_button: "Widerrufen"
  revoke_confirm_title: "Widerruf bestätigen"
  revoke_confirm_body: "Die Einladung wird storniert. Falls bereits angenommen, wird die Identität über das Revoke{Membership}-Signal aus dem Team entfernt (RFC 0010)."
  modal_cancel: "Abbrechen"
  modal_confirm: "Bestätigen"
  empty_title: "Keine Einladungen"
  empty_body: "Für dieses Team wurde noch keine Einladung gesendet."
  saved_toast: "Aktion abgeschlossen."

# Verbundene föderierte Apps (RFC 0024 Slice C iter. 5).
fediverse_connected_apps:
  page_title: "Verbundene föderierte Apps"
  heading: "Meine verbundenen föderierten Apps"
  subtitle: "ActivityPub-Instanzen, bei denen Sie sich mit Ihrer Identität auf diesem Server authentifiziert haben."
  table_domain: "Instanz"
  table_count: "Sitzungen"
  table_last_seen: "Letzte Aktivität"
  empty_title: "Keine föderierten Apps"
  empty_body: "Sie haben noch keine föderierte Authentifizierung zu einer anderen Instanz genehmigt."
  revoke_note: "Hinweis: Das manuelle Widerrufen einer entfernten Sitzung von dieser Seite aus wird mit RFC 0006 Phase 2 verfügbar sein (Sperrliste für entfernte JWT). In der Zwischenzeit bitten Sie den Administrator über /admin/fediverse/sessions_remote oder warten Sie auf den natürlichen Ablauf des JWT."
  back_to_profile: "Zurück zum Profil"

# Instanzübergreifende Team-Einladungsannahme (RFC 0024 Slice C iter. 6).
fediverse_invite_landing:
  page_title: "Team-Einladung"
  heading: "Sie haben eine Einladung erhalten"
  explainer: "Ein Team von einer anderen föderierten Instanz lädt Sie zum Beitritt ein. Überprüfen Sie die untenstehenden Details, bevor Sie antworten."
  team_label: "Team"
  role_label: "Vorgeschlagene Rolle"
  status_label: "Status"
  accept_button: "Annehmen"
  reject_button: "Ablehnen"
  already_decided: "Diese Einladung wurde bereits bearbeitet."
  cannot_accept_note: "Um anzunehmen, müssen Sie über eine föderierte Identität angemeldet sein (Anmeldung von Ihrer Ursprungsinstanz). Sie können von diesem lokalen Konto aus ablehnen, aber die Annahme erfolgt über den AP-nativen Flow."

# 404-Seite (unbekannte Route)
http_errors:
  not_found_title: "Seite nicht gefunden"
  not_found_message: "Diese Adresse entspricht keiner Seite."
  code_label: "Fehler 404"
  home: "Zur Startseite"
  login: "Anmelden"

analytics:
  opt_out:
    hint: 'Sie können der Reichweitenmessung jederzeit widersprechen. Ihre Wahl wird in Ihrem Browser gespeichert und gilt ab dem nächsten Seitenaufruf.'
    opt_out_label: 'Reichweitenmessung deaktivieren'
    opt_in_label: 'Reichweitenmessung wieder aktivieren'
    opted_out_badge: 'Sie haben widersprochen'