admin:
  breadcrumb:
    aria_label: "Brotkrümel-Navigation"
    new_page: "Neue Seite"
    edit_page: "Seite bearbeiten"
    new_category: "Neue Kategorie"
    edit_category: "Kategorie bearbeiten"
    media_upload: "Upload"
    media_edit: "Medien bearbeiten"
    new_user: "Neuer Benutzer"
    edit_user: "Benutzer bearbeiten"
    new_role: "Neue Rolle"
    edit_role: "Rolle bearbeiten"
    route_fallback: "Administration"
  system_status: "System-Status"
  system_health: "System-Gesundheit"
  system_health_description: "Überwachen Sie den Status Ihres Systems"
  recent_activity: "Letzte Aktivitäten"
  no_recent_activity: "Keine aktuellen Aktivitäten"
  yes: "Ja"
  no: "Nein"
  not_available: "Nicht verfügbar"
  # License Management
  license_management: "Lizenz-Verwaltung"
  license_management_description: "Verwalten Sie Ihre TerraFlow CMS Lizenz"
  
  # Custom Fields
  custom_fields:
    title: "Zusatzfelder"
    description: "Benutzerdefinierte Felder für Seiten, Kategorien, Benutzer und Einstellungen."
    overview: "Übersicht"
    manage_sets: "Feld-Sets verwalten"
    manage_fields: "Felder verwalten"
    field_sets: "Feld-Sets"
    fields: "Felder"
    preview: "Vorschau"
    preview_pages: "Seiten"
    preview_categories: "Kategorien"
    preview_users: "Benutzer"
    preview_media: "Medien"
    sets: "Feld-Sets"
    new_set: "Neues Feld-Set"
    edit_set: "Feld-Set bearbeiten"
    new_field: "Neues Feld"
    edit_field: "Feld bearbeiten"
    create_new_set: "Erstellen Sie ein neues Feld-Set"
    edit_set_description: "Bearbeiten Sie das Feld-Set"
    create_new_field: "Erstellen Sie ein neues Feld"
    edit_field_description: "Bearbeiten Sie das Feld"
    add_set: "Feld-Set hinzufügen"
    sets_description: "Organisieren Sie Felder in Sets pro Entitätstyp (z. B. Seiten, Kategorien)."
    test_nav: "Test"
    fields_description: "Erstellen und verwalten Sie die einzelnen Zusatzfelder."
    no_sets: "Keine Feld-Sets vorhanden."
    no_fields: "Keine Felder vorhanden."
    no_fields_hint: "Erstellen Sie ein Feld-Set und danach Felder, um loszulegen."
    technical_name: "Technischer Name"
    entity_type: "Entitätstyp"
    required: "Pflichtfeld"
    position: "Position"
    type: "Typ"
    set: "Feld-Set"
    back_to_overview: "Zurück zur Übersicht"
    delete_set_confirm: "Feld-Set wirklich löschen? Alle zugehörigen Felder werden entfernt."
    delete_field_confirm: "Dieses Feld wirklich löschen?"
    label_name: "Name"
    label_description: "Beschreibung"
    label_active: "Aktiv"
    label_default_value: "Standardwert"
    default_value_checked: "Standardmäßig aktiviert"
    save: "Speichern"
    cancel: "Abbrechen"
    back: "Zurück"
    actions: "Aktionen"
    add_field: "Feld hinzufügen"
    show_fields: "Felder anzeigen"
    options_configure: "Optionen konfigurieren"
    options_description: "Fügen Sie die verfügbaren Optionen für dieses Feld hinzu. Für jedes Element können Sie einen Wert und ein Label angeben."
    options_add: "Option hinzufügen"
  
  license:
    status: "Lizenz-Status"
    status_description: "Überwachen Sie den Status Ihrer Lizenz"
    valid: "Lizenz ist gültig"
    invalid: "Lizenz ist ungültig"
    key: "Lizenzschlüssel"
    domain: "Domain"
    type: "Lizenztyp"
    lifecycle_status: "Lifecycle-Status"
    valid_until: "Gültig bis"
    customer: "Kunde"
    plan_info: "Plan-Informationen"
    plan_name: "Plan-Name"
    max_domains: "Max. Domains"
    max_users: "Max. Benutzer"
    days_remaining: "Verbleibende Tage"
    days: "Tage"
    last_check: "Letzte Prüfung"
    server_url: "Server-URL"
    heartbeat_status: "Heartbeat-Status"
    quick_actions: "Schnellaktionen"
    system_info: "System-Informationen"
    debug_info: "Debug-Informationen"
    environment_override: "Umgebungs-Überschreibung"
    developer_mode: "Developer-Modus"
    environment_override_info: "Umgebung wurde automatisch auf 'dev' gesetzt aufgrund der Developer-Lizenz"
    invalid_title: "Administration gesperrt"
    invalid_description: "Die Administration ist aufgrund einer ungültigen oder abgelaufenen Lizenz gesperrt."
    good_news: "Gute Nachricht"
    frontend_works: "Ihre Website (Frontend) funktioniert weiterhin normal! Nur die Administration ist gesperrt."
    timestamp: "Zeitpunkt"
    affected_area: "Betroffener Bereich"
    administration_area: "Administration (/admin)"
    activation_instructions: "Um die Administration wieder zu aktivieren, überprüfen Sie bitte Ihre Lizenz."
    check_status: "Lizenzstatus prüfen"
    back_to_website: "Zur Website"
    refresh: "Aktualisieren"
    activate: "Aktivieren"
    features: "Features abrufen"
    toggle_block: "Blockieren/Entsperren"
    checking: "Prüfe..."
    activating: "Aktiviere..."
    loading: "Lade..."
    processing: "Verarbeite..."
    check_completed: "Lizenzprüfung abgeschlossen"
    activation_success: "Lizenz erfolgreich aktiviert"
    features_loaded: "Features erfolgreich geladen"
    error: "Fehler"
    unknown_error: "Unbekannter Fehler"
    check_failed: "Lizenzprüfung fehlgeschlagen"
    activation_failed: "Aktivierung fehlgeschlagen"
    activation_error: "Fehler bei der Aktivierung"
    error_redacted: "Die detaillierte Fehlermeldung wurde aus Sicherheitsgründen ausgeblendet."
    open_admin_license: "Zur Lizenzverwaltung"
  healthy: "Gesund"
  warning: "Warnung"
  critical: "Kritisch"
  clear_cache: "Cache leeren"
  php_extensions: "PHP Extensions"
  database: "Datenbank"
  version: "Version"
  size: "Größe"
  tables: "Tabellen"
  query_time: "Query-Zeit"
  engine: "Engine"
  features_failed: "Features konnten nicht abgerufen werden"
  features_error: "Fehler beim Abrufen der Features"
  block_confirm: "Möchten Sie die Lizenz wirklich blockieren?"
  block_failed: "Blockierung fehlgeschlagen"
  block_error: "Fehler bei der Blockierung"
  auto_check_failed: "Automatische Lizenzprüfung fehlgeschlagen"
  auto_check_error: "Automatische Lizenzprüfung fehlgeschlagen"

  cache_management: "Cache-Verwaltung"
  cache_management_description: "Verwalten Sie den System-Cache für optimale Performance"

  email_templates:
    intro: "Twig-fähige Betreff- und Inhalts-Templates pro Typ und Sprache. Plugin-Typen erscheinen automatisch in der Liste."
    edit: "Template bearbeiten"
    log: "Versandhistorie"
    locale: "Sprache"
    content: "Inhalt"
    variables: "Variablen"
    test_send: "Testversand"
    test_email: "Empfänger (Test)"
    send_test: "Test senden"
    test_hint: "Platzhalter-Daten werden eingesetzt (z. B. demo.user). Es wird ein Eintrag in der Versandhistorie erzeugt."
    log_intro: "Letzte versendete transaktionale E-Mails (inkl. fehlgeschlagene Versuche)."
    log_time: "Zeit"
    log_type: "Typ"
    log_recipient: "Empfänger"
    log_subject: "Betreff"
    log_status: "Status"
    log_test: "Test"
    log_empty: "Noch keine Einträge."
    status_sent: "Gesendet"
    status_failed: "Fehlgeschlagen"

  system_logs:
    intro: "Monolog-Dateien aus var/log einsehen (nur Lesen). Große Dateien werden vom Ende her begrenzt angezeigt."
    no_files: "Keine Log-Dateien in var/log gefunden."
    column_file: "Datei"
    column_size: "Größe"
    column_modified: "Geändert"
    open: "Öffnen"
    bytes_on_disk: "Dateigröße auf dem Datenträger: %bytes% Bytes"
    truncated_hint: "Auszug (Datei wurde gekürzt)"
    lines: "Zeilen"
    level: "Level"
    level_all: "Alle Level"
    search: "Textsuche"
    search_placeholder: "Zeile muss den Text enthalten …"
    apply: "Anwenden"
    empty_result: "Keine Zeilen für die aktuellen Filter."
    view_title: "Log anzeigen"
    select_file: "Bitte wählen Sie eine gültige Log-Datei."

  log_cleanup:
    intro: "Alte Monolog-Dateien unter var/log automatisch löschen. Es werden nur Dateien entfernt, deren Name dem üblichen Muster entspricht und die älter als die eingestellte Aufbewahrungsdauer sind (nach letzter Änderung)."
    task_hint: "Der Task „terraflow.log_cleanup“ wird nach dem Speichern mit Ihrem Intervall synchronisiert; Cron/Worker wie bei anderen geplanten Aufgaben."
    save: "Speichern"
    saved: "Einstellungen wurden gespeichert und der geplante Task aktualisiert."
    enabled: "Automatische Log-Bereinigung aktiv"
    retention_days: "Aufbewahrung (Tage)"
    interval_seconds: "Ausführungsintervall (Sekunden)"
    interval_help: "Mindestens 300 (5 Min.), höchstens 604800 (7 Tage). Wie oft der Task eingeplant wird, sofern Cron und Worker laufen."

  scheduled_tasks:
    title: "Geplante Aufgaben"
    description: "Übersicht über registrierte Scheduled Tasks (Datenbank + Messenger-Queue)."
    cli_hint: "Cron: sync und run regelmäßig ausführen; work als lang laufender Worker für die async-Queue."
    column_name: "Name"
    column_description: "Beschreibung"
    column_source: "Herkunft"
    column_interval: "Intervall"
    column_status: "Status"
    column_last_run: "Letzter Lauf"
    column_next_run: "Nächster Lauf"
    column_error: "Letzter Fehler"
    source_core: "Core"
    action_queue: "Jetzt ausführen"
    action_clear_error: "Fehler zurücksetzen"
    empty: "Keine Tasks in der Datenbank. Führen Sie zuerst die Migration aus und dann terraflow:scheduled-task:sync."
    flash_queued: "Task wurde zur Ausführung eingeplant."
    flash_queue_failed: "Task konnte nicht eingeplant werden (inaktiv, Plugin deaktiviert oder falscher Status)."
    flash_failure_cleared: "Fehler wurde zurückgesetzt; der Task ist wieder geplant."
    flash_clear_failed: "Fehler konnte nicht zurückgesetzt werden."
    flash_csrf: "Ungültiges Sicherheits-Token. Bitte erneut versuchen."
    status:
      scheduled: "geplant"
      queued: "warteschlange"
      running: "läuft"
      failed: "fehlgeschlagen"
      inactive: "inaktiv"
    desc:
      heartbeat: "Core-Heartbeat (Protokollierung, Demo-Task)"
      publish_scheduled_pages: "Veröffentlicht fällige geplante Seiten (Content-Workflow)"
      log_cleanup: "Löscht abgelaufene Monolog-Dateien in var/log (siehe Modul Log-Bereinigung)"
      cache_maintenance: "Cache-Wartung gemäß Einstellungen im Cache-Modul (Pools, HttpCache, Tags, Warmup)"
      example_plugin_demo: "Beispiel-Plugin-Demo-Task"
  cache:
    configuration: "Cache-Konfiguration"
    adapter: "Adapter"
    tag_support: "Tag-Unterstützung"
    versioning: "Versionierung"
    last_cleared: "Zuletzt geleert"
    never: "Nie"
    http_cache_title: "HTTP Cache"
    http_cache_description: "Optionaler Reverse-Proxy-Cache vor dem Kernel (public/index.php). Aktiv nur in Produktion bei HTTP_CACHE=1."
    http_cache_status: "Status"
    http_cache_enabled: "Aktiv"
    http_cache_disabled: "Inaktiv"
    http_cache_path: "Speicherpfad"
    http_cache_size: "Größe (ca.)"
    http_cache_clear_hint: "„Gesamten Cache leeren“ und der Hotkey Alt+C leeren auch diesen Speicher – unabhängig von HTTP_CACHE. Antworten mit Cache-Control: private werden von der HttpCache-Schicht nicht zwischengespeichert."
    quick_actions: "Schnellaktionen"
    clear_all: "Gesamten Cache leeren"
    warmup: "Cache aufwärmen"
    statistics: "Cache-Statistiken"
    tag_invalidation: "Cache nach Tags invalidieren"
    tags_input: "Tags (kommagetrennt)"
    tags_placeholder: "z.B. pages,content,navigation"
    tags_description: "Geben Sie die Cache-Tags ein, die invalidiert werden sollen"
    invalidate_tags: "Tags invalidieren"
    common_tags: "Häufig verwendete Tags"
    tag_click_hint: "Klicken Sie auf einen Tag, um ihn zum Eingabefeld hinzuzufügen"
    tag_support_unavailable: "Tag-Unterstützung nicht verfügbar"
    tag_support_description: "Tag-basierte Cache-Invalidierung wird von Ihrem aktuellen Cache-Adapter nicht unterstützt"
    advanced_commands: "Erweiterte Commands"
    clear_cache: "Cache leeren"
    warmup_cache: "Cache aufwärmen"
    cache_statistics: "Cache-Statistiken"
    invalidate_tags_cli: "Tags invalidieren (CLI)"
    enter_at_least_one_tag: "Bitte geben Sie mindestens einen Tag ein"
    click_to_copy: "Klicken zum Kopieren"
    command_copied: "Befehl kopiert"
    copy_failed: "Kopieren fehlgeschlagen"
    clear_confirm_message: "Möchten Sie wirklich den gesamten Cache leeren?"
    clear_confirm_description: "Alle zwischengespeicherten Daten werden entfernt"
    clear: "Leeren"
    clearing_cache: "Cache wird geleert"
    warmup_confirm_message: "Möchten Sie den Cache aufwärmen?"
    warmup_confirm_description: "Häufig verwendete Daten werden vorab geladen"
    warming_up_cache: "Cache wird aufgewärmt"
    statistics_feature_coming_soon: "Cache-Statistiken werden in einer zukünftigen Version verfügbar sein"
    task_section_title: "Geplante Cache-Wartung"
    task_section_intro: "Task „terraflow.cache_maintenance“: konfigurierbare Schritte im gewählten Intervall (Cron + Worker wie bei anderen geplanten Aufgaben)."
    task_link_scheduled: "Geplante Aufgaben öffnen"
    task_enabled: "Geplante Cache-Wartung aktiv"
    task_interval_seconds: "Intervall (Sekunden)"
    task_interval_help: "Zwischen 300 (5 Min.) und 604800 (7 Tage)."
    task_action_clear_pools: "App-Cache-Pools leeren"
    task_action_clear_pools_help: "Leert die Pools pages, media, system, plugins und default – nicht den Symfony-Container-Cache."
    task_action_purge_http: "HTTP-Cache-Speicher leeren"
    task_action_purge_http_help: "Entfernt das HttpCache-Verzeichnis unter var/cache (wie bei „Gesamten Cache leeren“, aber nur dieser Schritt wenn allein gewählt)."
    task_action_invalidate_tags: "Cache-Tags invalidieren"
    task_tags_csv: "Tags (Komma oder Leerzeichen)"
    task_tags_csv_help: "Nur wenn „Tags invalidieren“ aktiv ist, z. B. pages, content, navigation."
    task_action_warmup: "Cache-Warmup ausführen"
    task_action_warmup_help: "Entspricht dem Button „Cache aufwärmen“ (System-/Navigations-Caches anstoßen)."
    task_saved: "Cache-Wartung wurde gespeichert; der geplante Task wurde synchronisiert."
    task_error_no_action: "Bitte mindestens eine Aktion wählen oder die geplante Wartung deaktivieren."
    task_error_tags_required: "Bitte Tags angeben oder „Tags invalidieren“ deaktivieren."
    task_execution_order_hint: "Reihenfolge bei jedem Lauf: 1) App-Pools leeren (falls aktiv), 2) HTTP-Cache leeren, 3) Tags invalidieren, 4) Warmup."
  global_footer: "Globaler Footer"
  image_compressor:
    title: "Image Compressor Einstellungen"
    description: "Unterstützte Formate: JPEG (.jpg/.jpeg), PNG und WebP. Pro Endung legen Sie eine aktive Regel an (jpegoptim, optipng, cwebp)."
    add_new_setting: "Neue Einstellung hinzufügen"
    create_title: "Image Compressor Einstellung erstellen"
    edit_title: "Image Compressor Einstellung bearbeiten"
    file_format: "Dateiformat"
    active: "Aktiv"
    delete_confirm_prefix: "die Einstellung für"
    empty: "Noch keine Komprimierungs-Einstellungen angelegt."
    flash_created: "Einstellung wurde erstellt."
    flash_updated: "Einstellung wurde gespeichert."
    batch_hint: "Komprimiert vorhandene Bilder unter public/uploads (rekursiv). Pro Durchlauf wird eine Obergrenze verarbeitet – bei sehr vielen Dateien mehrfach ausführen oder das Konsolenkommando terraflow:images:compress nutzen."
    batch_button: "Uploads jetzt komprimieren"
    batch_max_label: "Max. Dateien pro Lauf"
    batch_done: "Kompression abgeschlossen: %processed% Dateien verarbeitet, %compressed% erfolgreich komprimiert, %skipped% übersprungen (keine passende aktive Regel), %errors% Fehler. Geschätzte Einsparung: ca. %saved_kb% KB."
  redirect_module:
    empty: "Keine Weiterleitungen vorhanden."
    form_hint: "Quelle: Route ohne führenden Schrägstrich (nicht mit „admin“ beginnen). Ziel: vollständige URL oder Pfad."
    delete_confirm_prefix: "die Weiterleitung"
    flash_created: "Weiterleitung wurde erstellt."
    flash_updated: "Weiterleitung wurde aktualisiert."
    flash_deleted: "Weiterleitung wurde gelöscht."
    flash_delete_failed: "Weiterleitung konnte nicht gelöscht werden: %message%"
    flash_source_admin_forbidden: "Die Quelle darf nicht mit „admin“ beginnen."
  backup:
    download_hint: "Laden Sie ein zuvor erzeugtes Backup der Datenbank herunter."
    reset_warning: "Setzt die Datenbank zurück und entfernt alle Inhalte. Nur ausführen, wenn Sie ein aktuelles Backup haben."
    reset_confirm_html: "Möchten Sie die Datenbank wirklich zurücksetzen?<br><br><strong class=\"text-danger\">Alle Daten gehen verloren.</strong><br><small class=\"text-muted\">Diese Aktion kann nicht rückgängig gemacht werden.</small>"
    reset_confirm_title: "Datenbank zurücksetzen"
    reset_confirm_button: "Zurücksetzen"
  maintenance_module:
    maintenance_mode_status: "Wartungsmodus"
    maintenance_mode_active_hint: "Die öffentliche Website zeigt die Wartungsseite (außer freigegebene IPs)."
    maintenance_mode_inactive_hint: "Die Website ist für Besucher normal erreichbar."
    custom_page_placeholder: "Optional: eigenes HTML/Twig für die Wartungsseite …"
    ip_whitelist_title: "IP-Whitelist"
    ip_whitelist_help: "Adressen, die bei aktivem Wartungsmodus weiterhin normal surfen dürfen. Unterstützt CIDR (z. B. 192.168.1.0/24) und Platzhalter (z. B. 192.168.1.*)."
    ip_label: "IP-Adresse oder Muster"
    ip_placeholder: "z. B. 192.168.1.100"
    ip_add: "Hinzufügen"
    ip_add_current: "Aktuelle IP hinzufügen"
    ip_detected_hint: "Vom System erkannte Client-IP: %ip%"
    ip_current_unknown: "Die aktuelle IP konnte nicht ermittelt werden (leer oder nicht vertrauenswürdige Proxy-Kette)."
    ip_error_empty: "IP-Adresse darf nicht leer sein."
    ip_error_invalid: "Ungültiges IP-Format oder Muster: %ip%"
    ip_flash_added: "IP-Adresse wurde zur Whitelist hinzugefügt."
    ip_flash_duplicate: "IP-Adresse ist bereits in der Whitelist."
    ip_flash_error: "Fehler beim Hinzufügen der IP-Adresse: %message%"
    ip_column: "IP / Muster"
    ip_remove: "Entfernen"
    ip_empty: "Keine Einträge – alle Besucher sehen bei Wartung nur die Wartungsseite."
    ip_delete_confirm: "Die IP-Adresse „%ip%“ von der Whitelist entfernen?"
    ip_delete_warning: "Die Adresse verliert den Sonderzugriff während der Wartung."

  # Modal System Translations
  modal:
    # General
    hint: "Hinweis"
    confirmation_required: "Bestätigung erforderlich"
    input_required: "Eingabe erforderlich"
    success: "Erfolgreich"
    error: "Fehler"
    warning: "Warnung"
    loading: "Wird geladen"
    please_wait: "Bitte warten..."
    
    # Buttons
    ok: "OK"
    confirm: "Bestätigen"
    cancel: "Abbrechen"
    delete: "Löschen"
    save: "Speichern"
    close: "Schließen"
    
    # Delete Confirmations
    delete_element: "Element löschen"
    delete_confirm: "Möchten Sie dieses Element wirklich löschen?"
    delete_warning: "Diese Aktion kann nicht rückgängig gemacht werden."
    
    # Input Placeholder
    input_placeholder: "Eingabe..."
    
    # Loading Messages
    deleting: "Wird gelöscht..."
    saving: "Wird gespeichert..."
    loading_data: "Daten werden geladen..."
    
    # Success Messages
    deleted_successfully: "erfolgreich gelöscht!"
    saved_successfully: "erfolgreich gespeichert!"
    copied_to_clipboard: "wurde in die Zwischenablage kopiert!"
    
    # Error Messages
    delete_error: "Fehler beim Löschen."
    save_error: "Fehler beim Speichern."
    clipboard_error: "Fehler beim Kopieren in die Zwischenablage."
    unexpected_error: "Ein unerwarteter Fehler ist aufgetreten."
    
    # Bulk Actions
    elements: "Elemente"
    bulk_action_confirm: "Möchten Sie wirklich {count} {itemType} {action}?"
    confirm_action: "{action} bestätigen"
    this_element: "dieses Element"

  help_guide:
    menu: "Hilfe-Guide"
    eyebrow: "CMS Hilfe"
    title: "TerraFlow Guide"
    subtitle: "Eine geführte Einführung durch Bereiche, Abläufe und wichtige Funktionen."
    intro: "Wähle links ein Thema. Auf der aktuellen Seite relevante Hilfen werden hervorgehoben."
    current_page: "Diese Seite"
    previous: "Zurück"
    next: "Weiter"
    close: "Schließen"
    step_label: "Schritt"
    step_short: "Schritt %step%"
    step_counter: "%current% von %total% Schritten"
    empty_title: "Noch keine Hilfe verfügbar"
    empty_text: "Für diesen Bereich ist aktuell kein Guide registriert."
    guides:
      getting_started:
        title: "Schnell orientieren"
        summary: "So ist das Admin aufgebaut und wie du dich sicher darin bewegst."
        steps:
          step1:
            title: "Navigation verstehen"
            body1: "Oben findest du die Hauptnavigation. Unter Verwaltung liegen Inhalte und Stammdaten, unter Tools die System- und Modulbereiche."
            body2: "Das Benutzer-Dropdown rechts oben bietet Profil, Sicherheitsoptionen, diesen Guide und die Hotkey-Hilfe."
          step2:
            title: "Seitenkontext lesen"
            body1: "Breadcrumbs zeigen dir, wo du dich gerade befindest und helfen beim schnellen Zurückspringen."
            body2: "Farbig betonte Ueberschriften und Admin-Karten gliedern Aktionen, Formulare und Uebersichten in klar erkennbare Bereiche."
          step3:
            title: "Mit Rechten arbeiten"
            body1: "Das CMS blendet Funktionen je nach Berechtigung aus. Fehlt ein Menuepunkt oder eine Aktion, liegt das meist an deiner Rolle."
            body2: "So bleibt die Oberflaeche fuer Redakteure schlank und fuer Administratoren vollstaendig."
      dashboard:
        title: "Dashboard lesen"
        summary: "Das Dashboard ist dein Einstieg fuer Status, Aktivitaeten und Schnellzugriffe."
        steps:
          step1:
            title: "Kennzahlen einordnen"
            body1: "Die Statistik-Karten zeigen dir auf einen Blick, wie viele Inhalte, Nutzer oder Anfragen im System vorhanden sind."
            body2: "Achte auf unerwartete Spruenge, wenn du Veraenderungen oder Integrationen nachvollziehen willst."
          step2:
            title: "Schnellaktionen nutzen"
            body1: "Ueber Schnellaktionen gelangst du ohne Umwege in haeufig genutzte Bereiche wie Seiten, Medien oder Einstellungen."
            body2: "Das spart Klicks, wenn du wiederkehrende Redaktionsaufgaben abarbeitest."
          step3:
            title: "Aktivitaeten beobachten"
            body1: "Bereiche fuer letzte Aktivitaeten, Hinweise oder Systemstatus helfen dir, offene Aufgaben frueh zu erkennen."
            body2: "Gerade nach Deployments, Importen oder Inhaltswellen lohnt ein kurzer Blick auf diese Uebersicht."
      content:
        title: "Inhalte pflegen"
        summary: "Seiten, Kategorien und Veroeffentlichung folgen einem gemeinsamen Redaktionsablauf."
        steps:
          step1:
            title: "Seiten und Kategorien trennen"
            body1: "Seiten enthalten den eigentlichen Inhalt, Kategorien strukturieren und gruppieren Inhalte fuer Navigation oder Listen."
            body2: "Wenn du zuerst die Struktur planst, bleibt das CMS auch bei vielen Inhalten uebersichtlich."
          step2:
            title: "Status bewusst einsetzen"
            body1: "Entwurf, geplant und veroeffentlicht steuern, ob ein Inhalt bereits sichtbar ist oder noch vorbereitet wird."
            body2: "Pruefe vor dem Verentlichen immer Sichtbarkeit, Route, SEO-Daten und eventuell verknuepfte Kategorien."
          step3:
            title: "Revisionen und Vorschau bedenken"
            body1: "Bei groesseren Aenderungen lohnt es sich, Inhalte als Entwurf zu pruefen und vorhandene Revisions- oder Vorschaufunktionen zu nutzen."
            body2: "So minimierst du Fehler auf der Live-Seite und kannst Aenderungen leichter nachvollziehen."
      media:
        title: "Medien sauber verwalten"
        summary: "Uploads, Ordner und Dateipflege funktionieren am besten mit einer klaren Struktur."
        steps:
          step1:
            title: "Sauber hochladen"
            body1: "Waehl sprechende Dateinamen und lade Medien moeglichst im passenden Format hoch, damit spaetere Pflege leichter wird."
            body2: "Ordner helfen, Bilder, Dokumente und Kampagnen-Inhalte dauerhaft auffindbar zu halten."
          step2:
            title: "Wiederverwendung statt Duplikate"
            body1: "Pruefe vor einem neuen Upload, ob die Datei bereits vorhanden ist. Das reduziert Dubletten und spart Speicher."
            body2: "Bestehende Medien lassen sich oft an mehreren Stellen wiederverwenden."
          step3:
            title: "Optimierung mitdenken"
            body1: "Komprimierung, Metadaten und Dateigroesse beeinflussen Performance und Ladezeiten deiner Website."
            body2: "Gerade bei grossen Bildern oder vielen Uploads lohnt sich ein Blick auf Komprimierungs- und Cache-Funktionen."
      modules_settings:
        title: "Module und Einstellungen"
        summary: "Hier steuerst du Systemverhalten, Erweiterungen und projektspezifische Konfiguration."
        steps:
          step1:
            title: "Module vs. Plugins"
            body1: "Module bilden eingebaute Funktionsbereiche wie Datenschutz, Cache oder Kontaktanfragen ab."
            body2: "Plugins erweitern das System zusaetzlich und koennen je nach Projekt separat aktiviert oder konfiguriert sein."
          step2:
            title: "Einstellungen mit Wirkung"
            body1: "Aenderungen in Einstellungen wirken oft global. Pruefe deshalb immer, welche Bereiche der Website davon betroffen sind."
            body2: "Bei sicherheits- oder SEO-relevanten Optionen ist eine kurze Kontrolle im Frontend besonders sinnvoll."
          step3:
            title: "Erweiterbar bleiben"
            body1: "Neue Features koennen eigene Hilfethemen registrieren, damit Hilfe direkt dort erscheint, wo sie gebraucht wird."
            body2: "So waechst die Dokumentation mit dem CMS mit, statt in einem statischen Handbuch zu veralten."
      productivity:
        title: "Schneller arbeiten"
        summary: "Suche, Hotkeys und feste Bedienmuster sparen Zeit im Alltag."
        steps:
          step1:
            title: "Globale Suche verwenden"
            body1: "Die Suche oben rechts fuehrt dich schneller zu Seiten, Medien oder Bereichen, als durch Menues zu klicken."
            body2: "Nutze eindeutige Namen und Titel, damit Inhalte spaeter leichter gefunden werden."
          step2:
            title: "Hotkeys kennen"
            body1: "Ueber ALT+I oeffnest du die Hotkey-Hilfe. Dort findest du Tastenkombinationen fuer Navigation, Speichern und weitere Aktionen."
            body2: "Fuer wiederkehrende Redaktionsablaeufe ist das deutlich schneller als Mausnavigation."
          step3:
            title: "Guide kontextbezogen nutzen"
            body1: "Dieser Guide zeigt allgemeine Themen und markiert Hilfen, die exakt zur aktuellen Seite passen."
            body2: "Wenn spaeter neue Module hinzukommen, koennen sie hier denselben Mechanismus fuer eigene Einfuehrungen nutzen."
      contact_requests:
        title: "Kontaktanfragen bearbeiten"
        summary: "So verarbeitest du eingehende Nachrichten strukturiert und ohne Informationsverlust."
        steps:
          step1:
            title: "Liste lesen"
            body1: "Die Uebersicht zeigt Absender, E-Mail, Zeitpunkt, Status und Quelle der Anfrage auf einen Blick."
            body2: "Mit der Suche filterst du schnell nach Name oder E-Mail, wenn du eine bestimmte Anfrage suchst."
          step2:
            title: "Aktionen richtig nutzen"
            body1: "Direkt in der Liste kannst du eine Anfrage ansehen, als beantwortet markieren, die ID kopieren oder loeschen."
            body2: "Auf der Detailseite findest du zusaetzlich den kompletten Nachrichtentext und einen direkten Mail-Link."
          step3:
            title: "Status sauber pflegen"
            body1: "Markiere Anfragen erst dann als beantwortet, wenn sie wirklich bearbeitet oder an die richtige Stelle uebergeben wurden."
            body2: "So behaelt dein Team auch bei vielen Nachrichten den Ueberblick ueber offene und erledigte Anliegen."

  # Hotkeys
  hotkeys:
    new_page: "Neue Seite"
    clear_cache: "Cache leeren"
    # Alias zu admin.cache.* (Hotkey-Modal / Kompatibilität)
    clear_cache_confirm: "Möchten Sie wirklich den gesamten Cache leeren?"
    clear_cache_warning: "Alle zwischengespeicherten Daten werden entfernt"
    clear: "Leeren"
    save: "Speichern"
    categories: "Kategorien"
    users: "Benutzer"
    media: "Medien"
    roles: "Rollen"
    settings: "Einstellungen"
    tools: "Tools"
    plugins: "Plugins"
    dashboard: "Dashboard"
    help: "Hilfe"
    clearing_cache: "Cache leeren..."
    please_wait: "Bitte warten"
    cache_cleared: "Cache geleert"
    cache_cleared_message: "System-Cache wurde erfolgreich geleert"
    error: "Fehler"
    cache_clear_error: "Cache konnte nicht geleert werden"
    network_error: "Netzwerkfehler"
    connection_failed: "Verbindung fehlgeschlagen"
    welcome_title: "Willkommen im Admin-Bereich"
    welcome_message: "Drücke ALT+I für verfügbare Hotkeys"
    modal_title: "Admin Hotkeys"
    modal_subtitle: "Tastenkürzel für schnelle Navigation und Aktionen"
    navigation: "Navigation"
    actions: "Aktionen"
    this_help: "Diese Hilfe"
    info_text: "Hotkeys funktionieren in den meisten Bereichen der Administration. In Eingabefeldern sind nur bestimmte Hotkeys verfügbar."
    tips: "Tipps & Hinweise"
    tip_1: "Hotkeys funktionieren in den meisten Bereichen der Administration"
    tip_2: "In Eingabefeldern sind nur bestimmte Hotkeys verfügbar"
    tip_3: "Drücke ALT+I jederzeit für diese Hilfe"
    footer_info: "Tastenkürzel für effiziente Verwaltung"
    close: "Schließen"
    executing_hotkey: "Führe Hotkey aus:"
    saving: "Speichern..."
    processing_form: "Formular wird verarbeitet"
    no_form: "Kein Formular"
    nothing_to_save: "Nichts zu speichern gefunden"
    no_permission: "Keine Berechtigung"
    action_not_allowed: "Aktion nicht erlaubt: %action%"
    debug_enabled: "Debug-Modus aktiviert"
    debug_disabled: "Debug-Modus deaktiviert"
    hotkey_system: "Hotkey-System"
    action: "Aktion"
    alt_p_captured: "ALT+P erkannt und abgefangen"
    unknown_hotkey: "Unbekannter Hotkey:"
    saving_form: "Formular wird gespeichert:"
    no_form_to_save: "Kein Formular zum Speichern gefunden"
    debug:
      keydown_event: "Keydown event:"
      alt: "Alt:"
      target: "Target:"
    clearing_cache_debug: "Cache wird geleert..."
    navigating_to: "Navigation zu:"
    debug_mode: "Hotkey Debug-Modus:"
    on: "AN"
    off: "AUS"

  # Notifications
  notifications:
    saving: "Speichern"
    network_error: "Netzwerkfehler"
    connection_failed: "Verbindung fehlgeschlagen"
    system_initialized: "Admin Notification System initialisiert"

  ajax_forms:
    request_failed_title: "Anfrage fehlgeschlagen"
    unexpected_response_title: "Unerwartete Antwort"
    unexpected_response_detail: "Die Seite wird neu geladen."

  # Console Messages
  console:
    modal_system_initialized: "AdminModalSystem erfolgreich initialisiert"
    modal_translations_available: "Modal-Übersetzungen über TerraFlowTranslations verfügbar"
    modal_system_loaded: "TerraFlow Modal System geladen - Alle JavaScript Dialoge wurden ersetzt!"
    mobile_dropdown_found_buttons: "Mobile Dropdown Fix: Gefunden"
    mobile_dropdown_buttons: "Dropdown-Buttons"
    mobile_dropdown_added_listener: "Mobile Dropdown Fix: Event Listener hinzugefügt"
    mobile_dropdown_clicked: "Mobile Dropdown Fix: Button geklickt!"
    mobile_dropdown_button: "Mobile Dropdown Fix: Button:"
    mobile_dropdown_menu: "Mobile Dropdown Fix: Dropdown Menü:"
    mobile_dropdown_no_menu: "Mobile Dropdown Fix: Kein Dropdown Menü gefunden"
    mobile_dropdown_creating_modal: "Mobile Dropdown Fix: Modal wird erstellt..."
    css_loading_error: "Fehler beim Laden der CSS-Datei:"
    wysiwyg_css_loading_error: "Fehler beim Laden der WYSIWYG CSS-Datei:"
    text_node_error: "Der aktuelle Knoten ist kein Textknoten."
    hotkeys_loaded: "Admin Hotkeys erfolgreich geladen"
    hotkeys_help_hint: "Drücke ALT+I für Tastenkürzel-Hilfe"

  # Mobile Dropdown
  mobile_dropdown:
    options: "Optionen"
    close: "Schließen"

  # Code Editor
  code_editor:
    saved: "Gespeichert"
    content_updated: "Code-Editor Inhalt wurde aktualisiert"
    search_for: "Suchen nach:"
    replace_with: "Ersetzen mit:"
    found_at_position: "Gefunden bei Position"
    text_not_found: "Text nicht gefunden."
    line: "Ln"
    column: "Col"
    total_lines: "Zeilen"
    chars: "chars"
    words: "words"
    tooltips:
      undo: "Rückgängig (Ctrl+Z)"
      redo: "Wiederholen (Ctrl+Y)"
      select_all: "Alles auswählen (Ctrl+A)"
      comment: "Kommentar (Ctrl+/)"
      duplicate_line: "Zeile duplizieren (Ctrl+D)"
      indent: "Einrücken"
      outdent: "Ausrücken"
      find: "Suchen (Ctrl+F)"
      replace: "Ersetzen (Ctrl+H)"
      wysiwyg_editor: "WYSIWYG Editor"
      fullscreen: "Vollbildmodus (Strg+F11)"
      media_browser: "Medienbrowser öffnen"

  # Unified Editor (Visual + Code)
  editor:
    tab_visual: "Visuell"
    tab_code: "Quellcode"
    words: "Wörter"
    resize_handle: "Höhe per Ziehen anpassen"
    mode_group_aria: "Ansicht zwischen visueller und Quelltext-Ansicht wechseln"

  # WYSIWYG Editor
  wysiwyg:
    saved: "Gespeichert"
    content_updated: "WYSIWYG-Editor Inhalt wurde aktualisiert"
    source_mode_hint: "Der Rich-Text-Editor nutzt TinyMCE (self-hosted, Open Source). Visuell bearbeiten und über „Quellcode“ Roh-HTML bearbeiten. Twig und komplexe Strukturen am sichersten im Quellcode-Dialog pflegen; der visuelle Modus erzwingt kein äußeres <p> mehr, kann Inhalte dennoch normalisieren."
    source_invalid_html: "Das HTML konnte nicht übernommen werden. Bitte Syntax prüfen."
    enter_font_size: "Schriftgröße eingeben (px):"
    enter_url: "URL eingeben:"
    enter_link_text: "Link-Text eingeben:"
    open_in_new_tab: "Link in neuem Tab öffnen?"
    tooltips:
      bold: "Fett (Ctrl+B)"
      italic: "Kursiv (Ctrl+I)"
      underline: "Unterstreichen (Ctrl+U)"
      unordered_list: "Liste"
      ordered_list: "Nummerierte Liste"
      justify_left: "Linksbündig"
      justify_center: "Zentriert"
      justify_right: "Rechtsbündig"
      justify_full: "Blocksatz"
      create_link: "Link einfügen"
      font_size: "Schriftgröße"
      remove_format: "Formatierung entfernen"
      refresh_css: "CSS aktualisieren"
      code_editor: "HTML-Quellcode"
      visual_editor: "Visueller Editor"
      fullscreen: "Vollbildmodus (Strg+F11)"
      insert_image: "Bild einfügen"
      media_browser: "Medienbrowser öffnen"
    enter_image_url: "Bild-URL eingeben:"
    enter_alt_text: "Alt-Text eingeben:"

  # Loading Text
  loading_text: "Wird geladen..."

  contact_requests: "Kontaktanfragen"
  view_contact_request: "Kontaktanfrage anzeigen"
  contact_requests_lead: "Nachrichten aus dem Kontaktformular im Überblick."
  contact_request_open: "Offen"
  contact_request_done: "Erledigt"
  contact_requests_empty: "Keine Kontaktanfragen"
  contact_requests_no_match: "Keine Treffer für diese Suche."
  contact_requests_empty_hint: "Sobald Besucher das Kontaktformular absenden, erscheinen die Einträge hier."
  contact_request:
    delete_confirm: "Die Kontaktanfrage von __NAME__ wirklich löschen?"
    delete_warning: "Die Anfrage wird dauerhaft gelöscht und kann nicht wiederhergestellt werden."
    mark_answered: "Als beantwortet markieren"
    mailto: "E-Mail schreiben"
    message_label: "Nachricht"
    back_to_list: "Zurück zur Liste"
    id_copied_title: "Kopiert"
    id_copied_message: "Die ID wurde in die Zwischenablage kopiert."
    id_copy_error_title: "Kopieren fehlgeschlagen"
    id_copy_error_message: "Die ID konnte nicht kopiert werden."
    flash_not_found: "Kontaktanfrage nicht gefunden."
    flash_deleted: "Kontaktanfrage wurde gelöscht."
    flash_delete_error: "Fehler beim Löschen der Kontaktanfrage: %message%"
    flash_marked_answered: "Kontaktanfrage als beantwortet markiert."
    flash_mark_error: "Fehler beim Markieren der Kontaktanfrage: %message%"
  status: "Status"
  dashboard_files: "Dateien"
  files: "Dateien"
  add: "Hinzufügen"
  create_page: "Seite erstellen"
  quick_actions: "Schnellaktionen"
  management_overview: "Verwaltungsübersicht"
  upload: "Hochladen"
  upload_media: "Datei hochladen"
  upload_media.description: "Laden Sie Bilder, Videos, Audio-Dateien oder Dokumente hoch"
  back: "Zurück"
  upload_page:
    drag_drop_title: "Datei hier ablegen"
    drag_drop_text: "Ziehen Sie eine Datei hierher"
    drag_drop_text_multi: "Mehrere Dateien gleichzeitig hochladen"
    or: "oder"
    browse_files: "Dateien durchsuchen"
    select_files: "Dateien auswählen"
    upload_stats: "Upload-Statistiken"
    selected_files: "Ausgewählte Dateien"
    total_size: "Gesamtgröße"
    upload_progress: "Upload-Fortschritt"
    uploading_label: "Hochladen..."
    preparing: "Vorbereitung..."
    multi_upload_title: "Multi-Upload"
    multi_upload_drag: "Mehrere Dateien per Drag & Drop"
    multi_upload_ctrl: "Oder mit STRG/CMD auswählen"
    multi_upload_max: "Max. 50MB pro Datei"
    clear_all: "Alle entfernen"
    clear_all_confirm: "Möchten Sie wirklich alle Dateien entfernen?"
    supported_formats: "Unterstützte Formate"
    max_size: "Maximale Dateigröße"
    name_placeholder: "Dateiname eingeben..."
    name_help: "Geben Sie einen aussagekräftigen Namen für die Datei ein"
    uploading: "Wird hochgeladen..."
    file_info: "Datei-Informationen"
    file_type: "Dateityp"
    file_size: "Dateigröße"
    last_modified: "Zuletzt geändert"
    file_selected: "Datei ausgewählt"
    file_too_large: "Datei zu groß"
    max_size_warning: "Maximale Dateigröße: 50MB"
    upload_started: "Upload gestartet"
    uploading_file: "Datei wird hochgeladen..."
    file_cleared: "Datei entfernt"
    select_new_file: "Wählen Sie eine neue Datei aus"
  first: "Erste"
  manage_plugins_description: "Hier kannst du die Plugins der Website verwalten."
  upload_new_media: "Neue Datei hochladen"
  media_management: "Medienverwaltung"
  media:
    edit: "Medium bearbeiten"
    edit_name: "Name"
    folder: "Ordner"
    metadata: "Metadaten"
    title: "Medien"
    delete_confirm_prefix: "die Mediendatei"
    delete_warning: "Diese Aktion kann nicht rückgängig gemacht werden. Die Datei wird vom Server entfernt."
    name: "Name"
    upload_file: "Datei hochladen"
    invalid_file_type: "Bitte laden Sie eine gültige Datei hoch (JPEG, PNG, PDF)."
    move_to_root: "Hier ablegen → in Root verschieben"
    drag_to_move: "Ziehen zum Verschieben in einen Ordner"
    new_folder: "Neuer Ordner"
    folder_name: "Ordnername"
    new_folder_placeholder: "z. B. Dokumente 2024"
    create_folder: "Ordner anlegen"
  previous: "Zurück"
  next: "Weiter"
  last: "Letzte"
  copy: "Kopieren"
  copy_id: "ID kopieren"
  view: "Anzeigen"
  tools: "Werkzeuge"
  manage_tools: "Überblick die Werkzeuge der Website"
  show_tools: "Werkzeuge anzeigen"
  create_translation: "Übersetzung erstellen"
  translations:
    qualifier: "Qualifier"
    text: "Text"
    locale: "Sprache"
    delete_confirm_prefix: "die Übersetzung"
  translations_management: "Übersetzungsverwaltung"
  manage_translations_description: "Hier kannst du die Übersetzungen der Website verwalten. Verwende die <a href=\"{{ path('admin_reference_codes') }}\">Twig Referenz-Codes</a> in deinen Seiten. Die Storefront route <b>/change-locale/{locale}</b> kann verwendet werden, um die Sprache zu ändern."
  copy_shortcode: "Referenz-Code kopieren"
  show_categories: "Kategorien anzeigen"
  
  # Reference Codes
  reference_codes:
    title: "Twig Referenz-Codes"
    description: "Verwende diese Twig-Funktionen in deinen Seiten"
    contact_form: "Kontaktformular"
    contact_form_description: "Fügt ein vollständiges Kontaktformular ein"
    media_url: "Medien-URL"
    media_url_description: "Gibt die URL einer Mediendatei anhand der ID zurück"
    current_date: "Aktuelles Datum"
    current_date_description: "Gibt das aktuelle Datum im angegebenen Format zurück"
    translate_text: "Text übersetzen"
    translate_text_description: "Übersetzt einen Text anhand des Qualifiers"
    qr_code_url: "QR-Code URL"
    qr_code_url_description: "Generiert eine QR-Code URL für eine Webadresse"
    page_route: "Seiten-Route"
    page_route_description: "Gibt die Route einer Seite anhand der ID zurück"
    category_route: "Kategorie-Route"
    category_route_description: "Gibt die Route einer Kategorie anhand der ID zurück"
    usage_info: "Verwendungsinformationen"
    how_to_use: "Wie verwende ich diese Funktionen?"
    usage_step_1: "Kopiere den gewünschten Referenz-Code"
    usage_step_2: "Füge ihn in deine Twig-Template oder Seite ein"
    usage_step_3: "Ersetze die Platzhalter durch deine eigenen Werte"
    examples: "Beispiele"
    example_1: "Kontaktformular einbinden"
    example_2: "Bild mit Medien-URL (ID)"
    example_3: "Übersetzten Text anzeigen"
    copied: "Kopiert!"
    copied_message: "Der Referenz-Code wurde in die Zwischenablage kopiert"
    copy_error: "Fehler beim Kopieren"
    copy_error_message: "Der Referenz-Code konnte nicht kopiert werden"
  manage_categories: "Verwalte die Kategorien der Website"
  create_user: "Benutzer erstellen"
  you: "Sie"
  show_title: "Titel Anzeigen"
  maintenance: "Wartungsmodus"
  maintenance_description: "Hier kannst du den Wartungsmodus der Website aktivieren oder deaktivieren."
  website: "Website"
  administration: "Verwaltung"
  modules_information:
    maintenance: "Wartungsmodus"
    maintenance_description: "Hier kannst du den Wartungsmodus der Website aktivieren oder deaktivieren."
    translations_description: "Hier kannst du die Übersetzungen der Website verwalten."
    backup: "Backups"
    backup_description: "Hier kannst du Backups deiner Website erstellen und wiederherstellen."
    404: "Not Found Seite"
    404_description: "Hier kannst du eine 404 Seite erstellen oder diese bearbeiten."
    contact_requests: "Kontaktanfragen"
    redirects: "Weiterleitungen"
    image_compressor: "Bildkompressor"
    contact_requests_description: "Organisiere und verwalte die Kontaktanfragen deiner Website."
    redirects_description: "Erstelle und verwalte Weiterleitungen für deine Website."
    image_compressor_description: "JPEG, PNG und WebP in den Uploads verlustbehaftet oder verlustfrei optimieren (nach Regel)."
    translations: "Übersetzungen"
    robots_txt: "robots.txt"
    robots_txt_description: "Steuern Sie die Datei robots.txt für Suchmaschinen-Crawler."
    captcha: "Captcha"
    captcha_description: "Öffentliche Formulare vor Bots schützen (ALTCHA, selbst gehostet, DSGVO-freundlich)."
    scheduled_tasks: "Geplante Aufgaben"
    scheduled_tasks_description: "Status von Core- und Plugin-Tasks, manuell einreihen und Fehler zurücksetzen."
    email_templates: "E-Mail-Templates"
    email_templates_description: "Transaktions-E-Mails (Twig) bearbeiten, testen und Versandhistorie einsehen."
    system_logs: "System-Logs"
    system_logs_description: "Monolog-Logdateien unter var/log durchsuchen und einsehen (Tail-Ansicht, Filter)."
    log_cleanup: "Log-Bereinigung"
    log_cleanup_description: "Geplanter Task: alte *.log-Dateien unter var/log nach konfigurierbarer Aufbewahrung löschen."
    oauth: "OAuth 2.0"
    oauth_description: "Social Login für die Website (Google, Microsoft, …) und optional TerraFlow als OAuth-Server für Drittanwendungen."
    privacy: "Datenschutz & Cookies"
    privacy_description: "Cookie-Banner im Storefront, DSGVO-Datenexport und kontogestützte Löschung (erweiterbar durch Plugins)."
    photopea: "Photopea"
    photopea_description: "Bilder und PSD/PSB aus den Medien in Photopea bearbeiten und zurückspeichern."
  oauth_module:
    page_intro: "Hier richten Sie Social Login für Ihre Website ein (Besucher melden sich mit Google, Microsoft usw. an). Technische OAuth-Server-Endpunkte für Drittanwendungen finden Sie unten im ausklappbaren Bereich."
    section_inbound_badge: "Für Ihre Website"
    section_inbound_title: "Login mit Google, Microsoft, Facebook …"
    section_inbound_lead: "Sie legen pro Anbieter nur eine App im Entwicklerportal an und tragen Client-ID und Secret hier ein. Endpunkte und Scopes sind bei den Vorlagen bereits fest eingestellt."
    section_inbound_step1: "Vorlage wählen (z. B. Google) oder „Eigener Anbieter“ nur nutzen, wenn Sie einen eigenen OAuth-Server anbinden."
    section_inbound_step2: "Redirect-URL aus dieser Verwaltung beim Anbieter eintragen (Button „Kopieren“ im Formular)."
    section_inbound_step3: "Anzeigename anpassen, Zugangsdaten speichern und den Anbieter aktivieren."
    section_outbound_badge: "Für Entwickler"
    section_outbound_title: "TerraFlow als OAuth-Server (APIs & Drittanwendungen)"
    section_outbound_lead: "Das ist ein anderer Anwendungsfall: andere Apps bitten um Zugriff auf Benutzerdaten über Ihren TerraFlow-Server. Nur benötigen, wenn Sie solche Integrationen planen."
    license_inactive: "Das OAuth-Modul ist in Ihrer aktuellen Lizenz nicht freigeschaltet oder die Lizenzprüfung schlägt fehl. Öffentliche OAuth-Endpunkte liefern dann 404."
    twofa_title: "Zwei-Faktor-Authentifizierung"
    twofa_body: "Wenn für Ihr Konto 2FA aktiv ist, müssen Sie die zweite Stufe abschließen, bevor eine OAuth-Autorisierung (/oauth/authorize) erteilt wird. Sie werden dazu nach dem Login zur 2FA-Seite weitergeleitet."
    endpoints_title: "Öffentliche Endpunkte"
    label_authorize: "Autorisierung (Authorization Code)"
    label_token: "Token"
    label_userinfo: "Userinfo"
    clients_hint: "OAuth-Clients werden in der Datenbank verwaltet (Tabelle oauth2_client). Eine Verwaltungsoberfläche kann später ergänzt werden."
    clients_manage_hint: "Redirect-URIs und Secrets hier pflegen – ohne SQL."
    outbound_server_hint: "Ausgehend (Authorization Server für Drittanwendungen):"
  oauth_inbound:
    new_title: "OAuth-Anbieter anlegen"
    edit_title: "OAuth-Anbieter bearbeiten"
    inbound_title: "Login-Anbieter (Inbound)"
    inbound_intro: "Mit einer Vorlage müssen Sie nur noch Client-ID und Secret aus dem Anbieter-Portal eintragen. „Eigener Anbieter“ ist für fortgeschrittene Setups mit eigenen URLs."
    custom_endpoints: "Endpunkte (nur eigener Anbieter)"
    add_provider: "Anbieter hinzufügen"
    no_providers: "Keine Anbieter konfiguriert."
    col.name: "Anzeigename"
    col.slug: "Slug"
    col.type: "Typ"
    col.status: "Status"
    enabled: "Aktiv"
    disabled: "Aus"
    incomplete: "ohne Secret"
    toggle: "Umschalten"
    confirm_delete: "Wirklich löschen? Alle Verknüpfungen zu diesem Anbieter werden entfernt."
    saved: "Gespeichert."
    deleted: "Anbieter gelöscht."
    error.slug_taken: "Dieser Slug ist bereits vergeben."
    error.custom_urls: "Bitte alle drei URLs ausfüllen."
    error.terraflow_remote_required: "Bitte die Basis-URL des anderen TerraFlow-Servers angeben (z. B. https://login.beispiel.de)."
    preset.google: "Google"
    preset.facebook: "Facebook"
    preset.microsoft: "Microsoft"
    preset.atlassian: "Atlassian"
    preset.custom: "Eigener Anbieter (URLs manuell)"
    preset.terraflow: "Anderer TerraFlow-Server"
    form:
      page_intro: "Folgen Sie den nummerierten Schritten. Bei einer Vorlage entfallen technische OAuth-URLs und Scopes – das System setzt sie automatisch."
      provider_type: "Vorlage"
      provider_type_help: "„Eigener Anbieter“ nur wählen, wenn Sie keinen der großen Anbieter nutzen und URLs selbst pflegen."
      edit_type_locked: "Anbietertyp kann nach dem Anlegen nicht geändert werden."
      redirect_aria: "Redirect-URL für OAuth"
      redirect_title: "Redirect- / Callback-URL beim Anbieter eintragen"
      redirect_body: "Diese exakte URL müssen Sie in der App-Konfiguration des Anbieters (z. B. Google Cloud Console) als autorisierte Weiterleitung hinterlegen."
      copy_redirect: "Kopieren"
      copied: "Kopiert"
      redirect_hint_preset: "Bei dieser Vorlage lautet der URL-Pfad-Segment fest wie der Anbietertyp (z. B. …/google/callback)."
      redirect_hint_custom: "Der Slug entspricht Ihrem gewählten URL-Slug; die Vorschau aktualisiert sich beim Tippen."
      step_provider: "Anbieter-Typ"
      step_provider_help: "Die gängigen Anbieter sind vorkonfiguriert. Nur bei „Eigener Anbieter“ erscheinen zusätzliche technische Felder."
      step_identity: "Name & Sichtbarkeit"
      step_credentials: "Zugangsdaten aus dem Entwicklerportal"
      step_credentials_help: "Client-ID und Secret erhalten Sie, wenn Sie dort eine „OAuth-Client-ID“ oder Web-App anlegen."
      display_name_help: "So erscheint der Button auf Login und Registrierung (z. B. „Mit Google anmelden“)."
      client_id_help: "Oft „Client-ID“ oder „Application ID“ genannt."
      step_scopes: "Berechtigungen (Scopes)"
      step_scopes_help: "Mehrere Scopes mit Leerzeichen trennen. Leer lassen, um die sinnvollen Standard-Scopes für OpenID/E-Mail zu nutzen."
      scopes_examples: "Beispiele: openid email profile · oder User.Read (Microsoft Graph)"
      preset_auto_title: "Vorlage aktiv"
      preset_auto_body: "Scopes, OAuth-Endpunkte und JSON-Felder für Nutzer-ID/E-Mail werden automatisch gesetzt und bei jedem Speichern mit der Vorlage abgeglichen. Sie müssen hier nichts mehr eintragen."
      terraflow_remote_url: "Basis-URL des anderen TerraFlow-Servers"
      terraflow_remote_url_help: "Nur Origin, ohne Pfad (z. B. https://login.firma.de). Es werden automatisch <code>/oauth/authorize</code>, <code>/oauth/token</code> und <code>/oauth/userinfo</code> dieses Servers verwendet."
      terraflow_setup_hint: "<p class=\"mb-2\"><strong>Woher kommen Client-ID und Secret?</strong> Auf dem <em>anderen</em> TerraFlow legen Sie den Client unter <strong>Module → OAuth 2.0 → OAuth-Clients (Authorization Server)</strong> an (nicht mehr per Datenbank von Hand).</p><ol class=\"small mb-0 ps-3\"><li><strong>Auf dieser Website:</strong> Callback-URL oben kopieren.</li><li><strong>Auf dem anderen TerraFlow:</strong> Neuen OAuth-Client anlegen, dieselbe Callback-URL als Redirect-URI eintragen, vertraulich aktivieren und Secret setzen – die <strong>Client-ID</strong> und das <strong>Klartext-Secret</strong> notieren.</li><li><strong>Hier im Formular:</strong> Basis-URL des anderen TerraFlow plus Client-ID und Secret eintragen.</li></ol><p class=\"small text-muted mb-0\">Scopes auf dem anderen Server: <code>openid</code>, <code>email</code>, <code>profile</code>.</p>"
      slug: "URL-Slug"
      slug_required: "Slug erforderlich"
      display_name: "Anzeigename"
      enabled: "Aktiv"
      client_id: "Client-ID"
      client_secret: "Client-Secret"
      secret_placeholder: "Leer lassen, um Secret nicht zu ändern"
      secret_help: "Leer lassen, um das gespeicherte Secret beizubehalten; nur bei neuem oder geändertem Secret ausfüllen."
      slug_help: "Nur Kleinbuchstaben, Zahlen, Binde- und Unterstrich (z. B. google oder mein-idp)."
      scopes: "Scopes (Leerzeichen getrennt)"
      scopes_help: "Leer = Standard-Scopes der Vorlage"
      scopes_help_custom: "Leer lassen = Standard-Scopes openid, email, profile. Sonst Scopes durch Leerzeichen getrennt."
      auth_url: "Authorization-URL"
      token_url: "Token-URL"
      userinfo_url: "Userinfo-URL"
      user_id_field: "JSON-Feld Nutzer-ID"
      user_email_field: "JSON-Feld E-Mail"
      user_name_field: "JSON-Feld Anzeigename"
      icon_class: "Bootstrap-Icon-Klasse (ohne bi-)"
      icon_help: "z. B. google → bi-google wird automatisch gesetzt, wenn leer"
  oauth_server_client:
    title: "OAuth-Clients (Authorization Server)"
    manage: "OAuth-Clients verwalten"
    list_intro: "Clients für Drittanwendungen und andere TerraFlow-Instanzen: hier Redirect-URIs und Zugangsdaten pflegen."
    list_hint: "Der Authorization-Code-Flow nutzt die öffentlichen Endpunkte im ausklappbaren Bereich auf der OAuth-Modulseite."
    add: "Client anlegen"
    empty: "Noch keine OAuth-Clients angelegt."
    new_title: "OAuth-Client anlegen"
    edit_title: "OAuth-Client bearbeiten"
    edit_identifier_locked: "Die Client-ID kann nach dem Anlegen nicht geändert werden:"
    saved: "OAuth-Client gespeichert."
    deleted: "OAuth-Client gelöscht."
    confirm_delete: "Diesen OAuth-Client wirklich löschen? Bestehende Tokens bleiben in der Datenbank, sind aber nicht mehr nutzbar."
    col.name: "Name"
    col.identifier: "Client-ID"
    col.redirects: "Redirects"
    col.type: "Typ"
    col.status: "Status"
    confidential: "Vertraulich"
    public_client: "Öffentlich (PKCE)"
    form:
      identifier: "Client-ID (identifier)"
      identifier_help: "Öffentlicher Name des Clients, z. B. mein-portal oder eine UUID. Nur Buchstaben, Zahlen, Binde- und Unterstrich."
      name_label: "Anzeigename"
      redirect_uris: "Redirect-URIs"
      redirect_uris_help: "Eine URL pro Zeile. Muss <strong>exakt</strong> mit der Callback-URL der anderen Anwendung übereinstimmen (inkl. <code>http</code>/<code>https</code> und Port)."
      confidential: "Vertraulicher Client (mit Secret)"
      confidential_help: "Für Server-zu-Server oder Web-Apps mit geheimem Secret. Deaktivieren nur, wenn Sie einen reinen PKCE-Public-Client benötigen."
      active: "Aktiv"
      client_secret: "Client-Secret"
      secret_help_new: "Wird gehasht gespeichert. Bei vertraulichen Clients erforderlich."
      secret_help_edit: "Leer lassen, um das Secret nicht zu ändern."
    error:
      identifier_format: "2–100 Zeichen: nur Buchstaben, Zahlen, Binde- und Unterstrich."
      identifier_taken: "Diese Client-ID ist bereits vergeben."
      redirect_required: "Mindestens eine Redirect-URI angeben."
      redirect_invalid: "Ungültige URL: %url%"
      secret_required: "Bei vertraulichem Client ist ein Secret erforderlich."
  profile_oauth:
    title: "Externe Anmeldungen"
    intro: "Verknüpfen Sie Konten von OAuth-Anbietern, um sich damit anzumelden."
    unlink: "Trennen"
    none: "Noch keine Verknüpfungen."
    add_connection: "Verbindung hinzufügen"
    unlinked: "Verknüpfung entfernt."
    unlink_failed: "Verknüpfung konnte nicht entfernt werden."
    csrf_invalid: "Ungültiges Formular. Bitte erneut versuchen."
  profile_oauth_server:
    title: "Verbundene Apps"
    intro: "Diese Anwendungen haben über OAuth Zugriff auf Ihr Konto erhalten. Widerrufen Sie den Zugriff, wenn Sie ihn nicht mehr benötigen."
    revoke: "Zugriff widerrufen"
    revoke_confirm: "Zugriff für diese App wirklich widerrufen? Die App kann sich nicht mehr in Ihrem Namen anmelden."
    revoked: "Zugriff wurde widerrufen."
    none: "Keine Apps haben aktuell Zugriff auf Ihr Konto."
  robots_txt_saved: "Die robots.txt wurde gespeichert."
  captcha:
    saved: "Die Captcha-Einstellungen wurden gespeichert."
    hint_title: "ALTCHA (selbst gehostet)"
    hint_body: "Es wird <strong>ALTCHA</strong> genutzt: Proof-of-Work im Browser, Challenge und Prüfung laufen auf <strong>Ihrem Server</strong> (ohne Captcha-Drittanbieter-API). Legen Sie einen geheimen HMAC-Schlüssel fest (z. B. <code>openssl rand -hex 32</code>). Das Widget-Script liegt unter <code>public/vendor/altcha/altcha.min.js</code>. Challenge-Endpunkt: <code>/altcha/challenge</code>. Feld leer lassen, um den gespeicherten Schlüssel nicht zu ändern."
    hmac_set: "Ein HMAC-Schlüssel ist hinterlegt (aus Sicherheitsgründen nicht angezeigt)."
    section_connection: "Schlüssel & Aktivierung"
    section_forms: "Geschützte Formulare"
    protect_forms_intro: "Gilt nur, wenn Captcha eingeschaltet ist und ein HMAC-Schlüssel mit mindestens 24 Zeichen gesetzt ist."
    enabled: "Captcha aktivieren"
    hmac_secret: "Geheimer HMAC-Schlüssel"
    hmac_placeholder: "Neuen Schlüssel eintragen …"
    hmac_help: "Mindestens 24 Zeichen. Leer lassen, um den gespeicherten Schlüssel nicht zu ändern."
    protect_contact: "Kontaktformular"
    protect_login: "Login"
    protect_register: "Registrierung"
    protect_forgot: "Passwort vergessen"
    protect_reset: "Neues Passwort setzen"
  create_redirect: "Weiterleitung erstellen"
  create: "Erstellen"
  update: "Aktualisieren"
  edit_redirect: "Weiterleitung bearbeiten"
  createRedirect: "Weiterleitung erstellen"
  redirects_management: "Weiterleitungsverwaltung"
  manage_redirects_description: "Hier kannst du alle Weiterleitungen anzeigen und verwalten."
  source: "Quelle"
  destination: "Ziel"
  statusCode: "Status Code"
  show_media: "Medien anzeigen"
  show_modules: "Module anzeigen"
  manage_media: "Verwalten Sie die Medien der Website"
  manage_modules: "Alle Module der Website"
  copy_link: "Link kopieren"
  
  # Modern Media Browser
  media_browser:
    title: "Medienbrowser"
    items: "Elemente"
    selected: "ausgewählt"
    search_placeholder: "Medien durchsuchen..."
    filter_all: "Alle Dateien"
    filter_images: "Bilder"
    filter_documents: "Dokumente"
    filter_videos: "Videos"
    filter_audio: "Audio"
    sort_name_asc: "Name (A-Z)"
    sort_name_desc: "Name (Z-A)"
    sort_date_asc: "Datum (altest zuerst)"
    sort_date_desc: "Datum (neueste zuerst)"
    sort_size_asc: "Größe (kleinste zuerst)"
    sort_size_desc: "Größe (größte zuerst)"
    upload: "Hochladen"
    drag_drop_title: "Dateien hier ablegen"
    drag_drop_text: "Ziehen Sie Dateien hierher oder klicken Sie zum Auswählen"
    select_files: "Dateien auswählen"
    uploading: "Wird hochgeladen..."
    no_media_found: "Keine Medien gefunden"
    no_media_description: "Es wurden keine Medien gefunden, die Ihren Suchkriterien entsprechen."
    upload_first_media: "Erste Datei hochladen"
    cancel: "Abbrechen"
    insert_selected: "Ausgewählte einfügen"
    preview: "Vorschau"
    copy_reference: "Referenzcode kopieren"
    delete: "Löschen"
    insert: "Einfügen"
    reference_copied: "Referenzcode kopiert"
    reference_copied_message: "Der Referenzcode wurde in die Zwischenablage kopiert"
    delete_media: "Medien löschen"
    delete_confirm_message: "Möchten Sie diese Mediendatei wirklich löschen?"
    media_deleted: "Medien gelöscht"
    media_deleted_message: "Die Mediendatei wurde erfolgreich gelöscht"
    bulk_delete: "Mehrere Dateien löschen"
    bulk_delete_confirm: "Möchten Sie die ausgewählten Dateien wirklich löschen?"
    bulk_delete_success: "Dateien gelöscht"
    bulk_delete_success_message: "Die ausgewählten Dateien wurden erfolgreich gelöscht"
  open: "Öffnen"
  answer: "Antworten"
  modules: "Module"
  modules_overview_hint: "Schnellzugriff auf Erweiterungsmodule – gruppiert nach Thema. Nur Module, für die Sie berechtigt sind, werden angezeigt."
  modules_search_placeholder: "Module durchsuchen …"
  modules_no_match: "Kein Modul entspricht Ihrer Suche."
  modules_group_content: "Inhalt & Kommunikation"
  modules_group_seo: "SEO & Medien"
  modules_group_operations: "Betrieb & Wartung"
  modules_group_system: "System"
  modules_cache:
    title: "Cache-Verwaltung"
    description_short: "Zwischenspeicher leeren, aufwärmen und Statistiken prüfen."
  manage_contact_requests_description: "Hier kannst du alle Kontaktanfragen anzeigen und verwalten.<br>Verwende die <a href=\"{{ path('admin_reference_codes') }}\">Twig Referenz-Codes</a>, um das Kontaktformular auf einer Seite einzubinden."
  name: "Name"
  answered: "Beantwortet"
  is_admin: "Admin"
  category:
    basic_info: "Grundinformationen"
    content_section: "Inhalt & Einstellungen"
    new_description: "Erstellen Sie eine neue Kategorie mit individuellen Einstellungen."
    edit_description: "Bearbeiten Sie die Kategorie und deren Einstellungen."
    title: 'Titel'
    active: 'Aktiv'
    priority: 'Priorität'
    show_listing_methods: 'Sortierung auf Kategorieseite anzeigen'
    no_parent: "Keine übergeordnete Kategorie"
    delete_confirm_prefix: "die Kategorie"
    delete_warning: "Diese Aktion kann nicht rückgängig gemacht werden. Alle Unterkategorien werden ebenfalls gelöscht."
    drag_hint: "Kategorien per Drag & Drop verschieben. Seiten auf eine Kategorie ziehen, um sie zuzuordnen."
    drag_to_move: "Zum Verschieben ziehen"
    drop_root: "Als Root-Kategorie (oberste Ebene)"
    drop_here: "Hier ablegen"
    pages_count: "Seiten"
    pages_label: "Seiten"
    drag_page_to_category: "Seite auf eine Kategorie ziehen, um zuzuordnen"
    move_failed: "Verschieben fehlgeschlagen."
    page_move_failed: "Seite konnte nicht zugewiesen werden."
    move_target_not_found: "Ziel-Kategorie nicht gefunden."
    move_no_self: "Eine Kategorie kann nicht in sich selbst verschoben werden."
    move_no_descendant: "Eine Kategorie kann nicht in eine eigene Unterkategorie verschoben werden."
    parent_not_self: "Die übergeordnete Kategorie darf nicht die Kategorie selbst sein."
    not_found: "Kategorie nicht gefunden."
  category_confirm_delete: "Bist du sicher, dass du diese Kategorie löschen möchtest? Beziehungen zu Seiten werden ebenfalls gelöscht."
  create_category: "Kategorie erstellen"
  edit_category: "Kategorie bearbeiten"
  categories_management: "Kategorienverwaltung"
  category_title: "Titel"
  categories: "Kategorien"
  content: "Inhalte"
  advanced: "Erweitert"
  edit_page: "Seite bearbeiten"
  users: "Benutzer"
  pages: "Seiten"
  roles: "Rollen"
  dashboard: "Übersicht"
  users_management: "Benutzerverwaltung"
  pages_management: "Seitenverwaltung"
  roles_management: "Rollenverwaltung"
  search: "Suche"
  pagesTitle: "Seitentitel"
  createdAt: "Erstellt am"
  createPage: "Seite erstellen"
  settings: "Einstellungen"
  manage_users: "Verwalte die Benutzer der Website"
  show_users: "Benutzer anzeigen"
  manage_pages: "Verwalte die Seiteninhalte der Website"
  show_pages: "Seiten anzeigen"
  manage_system_settings: "Verwalte die Einstellungen des Systems"
  show_settings: "Einstellungen anzeigen"
  edit_user: "Benutzer bearbeiten"
  plugins: "Plugins"
  filter_active_plugins_only: "Nur aktive Plugins"
  save: "Speichern"
  privacy:
    title: "Datenschutz & Cookies"
    lead: "Cookie-Einwilligung für Besucher und Werkzeuge für Auskunft/Löschung nach Art. 15/17 DSGVO."
    cookie_section: "Cookie-Banner (Storefront)"
    cookie_hint: "Wenn aktiviert, erscheint ein Banner mit Kategorien. Optionale Skripte können per data-cookie-category angebunden werden."
    gdpr_export_section: "Datenexport (Art. 15)"
    gdpr_export_hint: "Strukturierter JSON-Export aller registrierten Kern- und Plugin-Sektionen für das angegebene Benutzerkonto."
    gdpr_erase_section: "Konto löschen (Art. 17)"
    gdpr_erase_warning: "Der Benutzer inkl. OAuth-Verknüpfungen, WebAuthn, Recovery-Codes und Zusatzfeldern wird unwiderruflich entfernt. Nicht für das eigene Konto möglich."
    plugins_hint: "Plugins können weitere Cookie-Kategorien, Export-Sektionen und Löschschritte über Symfony-Tags bzw. Events registrieren (siehe TerraFlow\\Privacy\\* Interfaces)."
    cookie_saved: "Cookie-Einstellungen gespeichert."
    gdpr_user_not_found: "Kein Benutzer zu dieser Kennung gefunden."
    gdpr_erase_confirm_invalid: "Bitte exakt die Bestätigung eingeben."
    gdpr_erase_self_forbidden: "Das eigene Konto kann hier nicht gelöscht werden."
    gdpr_erased: "Das Benutzerkonto wurde gelöscht."
  photopea:
    title: "Photopea"
    lead: "Wählen Sie eine Mediendatei, bearbeiten Sie sie in Photopea und speichern Sie das Ergebnis zurück in dieselbe Datei (gleiche URL)."
    need_media_view: "Sie benötigen die Berechtigung „Medien anzeigen“, um dieses Modul zu nutzen."
    select_label: "Mediendatei"
    select_placeholder: "— Datei wählen —"
    search_placeholder: "Medien durchsuchen …"
    btn_load: "In Photopea laden"
    btn_save: "In Medien speichern"
    editor_title: "Editor"
    hint_formats: "Unterstützt: JPG, PNG, WebP, GIF, PSD, PSB."
    hint_save_permission: "Zum Zurückspeichern ist die Berechtigung „Medien bearbeiten“ erforderlich."
    status_loading_list: "Medienliste wird geladen …"
    status_loading_file: "Datei wird geladen …"
    status_ready: "Bereit."
    status_saved: "Gespeichert."
    status_error: "Fehler."
    pagination: "Seite %page% / %pages% (%total% Dateien)"
    prev_page: "Zurück"
    next_page: "Weiter"
    open_in_media: "In Medienverwaltung öffnen"
    error:
      csrf: "Ungültiger Sicherheitstoken."
      invalid_media: "Ungültige oder nicht unterstützte Mediendatei."
      no_file: "Keine Datei übermittelt."
      too_large: "Die Datei ist zu groß (max. 25 MB)."
      extension_mismatch: "Das Exportformat passt nicht zur Original-Dateiendung."
      path: "Dateipfad ungültig oder außerhalb des Medienordners."
      storage: "Medienordner nicht konfiguriert."
      write: "Speichern auf dem Server fehlgeschlagen."
      load_list: "Medienliste konnte nicht geladen werden."
      photopea_timeout: "Photopea hat nicht rechtzeitig geantwortet."
      fetch_media: "Die Mediendatei konnte nicht geladen werden."
      save_failed: "Zurückspeichern fehlgeschlagen."
    saved: "Die Datei wurde in den Medien aktualisiert."
  manage_pages_description: "Hier kannst du die Seiteninhalte der Website verwalten."
  pages_list_hint: "Filter und Tabelle – schneller Überblick über alle Seiten."
  pages_results_range: "Einträge %from%–%to% von %total%"
  pages_reset_filters: "Filter zurücksetzen"
  users_list_hint: "Filter und Tabelle – schneller Überblick über alle Benutzer."
  users_reset_filters: "Filter zurücksetzen"
  users_empty_filtered: "Keine Benutzer passen zu diesen Filtern. Filter anpassen oder zurücksetzen."
  users_table_user: "Benutzer"
  users_table_email: "E-Mail"
  users_table_roles: "Rollen"
  users_table_created: "Erstellt"
  pages_open_categories: "Kategorien"
  pages_empty_filtered: "Keine Seiten passen zu diesen Filtern. Filter anpassen oder zurücksetzen."
  pages_table_title: "Titel"
  pages_table_category: "Kategorie"
  pages_table_url: "URL"
  pages_table_status: "Status"
  pages_table_created: "Erstellt"
  filter_category: "Kategorie"
  filter_category_all: "Alle Kategorien"
  filter_category_none: "Ohne Kategorie"
  filter_status: "Status"
  filter_status_all: "Alle"
  filter_status_active: "Nur aktiv"
  filter_status_inactive: "Nur inaktiv"
  filter_status_live: "Live sichtbar"
  filter_status_not_live: "Nicht live"
  filter_status_draft: "Entwurf"
  filter_status_scheduled: "Geplant"
  filter_status_published: "Status: Veröffentlicht"
  page_status_not_routable: "Nicht öffentlich"
  global_search_placeholder: "Global suchen…"
  content_lock_blocked: "Diese Inhalte werden gerade von „%user%“ bearbeitet."
  revision_rollback_success: "Stand wurde wiederhergestellt."
  revisions:
    title: "Versionen"
    subtitle: "Revisionen für %type% #%id%"
    date: "Zeitpunkt"
    user: "Benutzer"
    diff: "Vergleich"
    rollback: "Zurücksetzen"
    rollback_confirm: "Wirklich auf diesen Stand zurücksetzen?"
    empty: "Keine Revisionen."
    diff_title: "Unterschiede"
    diff_legend: "Vergleich: gespeicherter Stand (Revision) → aktueller Zustand. Zeilen mit „−“ stammen aus der Revision, „+“ aus dem aktuellen Zustand, unveränderte Zeilen dienen als Kontext."
    field: "Feld"
    before: "Revision (alt)"
    after: "Aktuell"
    no_diff: "Keine Unterschiede."
    custom_fields_diff_hint: "Hier werden Werte für den Vergleich normalisiert (Schlüssel alphabetisch, Datumswerte einheitlich als ISO-Zeit). So fallen nur echte inhaltliche Änderungen auf – nicht bloß eine andere Reihenfolge in der Datenstruktur."
  sort_label: "Sortierung"
  sort_created_desc: "Neueste zuerst"
  sort_created_asc: "Älteste zuerst"
  sort_title_asc: "Titel A–Z"
  sort_title_desc: "Titel Z–A"
  pages_inactive_url_hint: "Seite ist inaktiv – im Frontend nicht erreichbar"
  pages_inactive_no_preview: "Vorschau nicht verfügbar (Seite inaktiv)"
  preview: "Vorschau"
  preview_options: "Vorschau-Optionen"
  preview_locale: "Sprache"
  preview_locale_session: "(wie Session)"
  preview_simulated_role: "Rolle (Anzeige)"
  preview_flags: "Feature-Flags"
  manage_system_settings_description: "Hier kannst du die allgemeinen Systemeinstellungen verwalten."
  system_name: "Systemname"
  timezone: "Zeitzone"
  timezone_berlin: "Berlin (GMT+1)"
  auto_backup: "Automatisches Backup"
  email_notifications: "E-Mail Benachrichtigungen"
  notification_frequency: "Benachrichtigungsfrequenz"
  daily: "Täglich"
  weekly: "Wöchentlich"
  id: "ID"
  username: "Benutzername"
  email: "E-Mail"
  actions: "Aktionen"
  edit: "Bearbeiten"
  delete: "Löschen"
  confirm_delete: "Bist du sicher?"
  manage_users_description: "Hier kannst du alle Benutzer anzeigen und verwalten."
  duplicate: 'Duplizieren'
  maintenance_mode_disable: 'Wartungsmodus deaktivieren'
  maintenance_mode_enable: 'Wartungsmodus aktivieren'
  maintenance_mode_enabled: 'Wartungsmodus aktiviert'
  maintenance_mode_disabled: 'Wartungsmodus deaktiviert'
  search_redirects_placeholder: "Suchen nach Quelle oder Ziel..."
  search_translations_placeholder: "Suchen nach Qualifier, Text oder Sprache..."
  search_contact_placeholder: "Suchen nach Name oder E-Mail..."
  custom_404_page: "Eigene 404-Seite"
  custom_404_description: "Leer lassen, um die generische TerraFlow-Wartungsseite zu verwenden."
  show_logout_in_navigation: 'Logout in Navigation anzeigen'
  favicon: 'Favicon'
  allow_remember_me_on_login: 'Remember me auf Login erlauben'
  login_with_email: 'Login via E-Mail (deaktiviert = Login via Benutzername)'
  login_with_email_description: 'Aktiviert Login mit E-Mail-Adresse statt Benutzername'
  login_identifier_mode_description: 'Legt fest, ob sich Benutzer mit Benutzername, E-Mail oder beidem anmelden dürfen.'
  allow_password_reset_description: 'Erlaubt oder deaktiviert die "Passwort vergessen"-Funktion im Login.'
  custom_css: 'Benutzerdefiniertes CSS'
  custom_javascript: 'Benutzerdefiniertes JavaScript'
  custom_navigation: 'Benutzerdefinierte Navigation'
  system_security: 'System & Sicherheit'
  navigation_settings: 'Navigation-Einstellungen'
  settings_nav:
    general: "Allgemein"
    seo: "SEO & Meta"
    code: "Code"
    navigation: "Navigation & Footer"
    navigation_section_intro: "Hier bearbeiten Sie die benutzerdefinierte Navigation, den globalen Footer und die Storefront-Navigation (z. B. Login, Logout, Registrierung) – alles in einem Reiter."
    security: "Login & Sicherheit"
    custom_fields: "Zusatzfelder"
  meta_tags: 'Globale Meta Tags'
  profile: "Profil"
  profile_information: "Profil-Informationen"
  edit_profile: "Profil bearbeiten"
  two_factor:
    settings: "Zwei-Faktor-Authentifizierung"
    title: "Bestätigungscode"
    subtitle: "Geben Sie den Code aus Ihrer Authenticator-App ein."
    intro: "Nur für Konten mit Admin-Rolle: TOTP (Authenticator-App) und/oder Passkeys (iPhone Face ID/Touch ID, YubiKey u. a.) – beides optional, parallel nutzbar."
    section_totp: "Authenticator-App (TOTP)"
    section_passkeys: "Passkeys / Sicherheitsschlüssel"
    passkeys_intro: "Nach dem Passwort können Sie sich mit einem registrierten Passkey oder Gerät anmelden. Sie können mehrere Passkeys speichern."
    passkeys_none: "Noch kein Passkey registriert."
    passkey_add: "Passkey hinzufügen"
    passkey_remove: "Entfernen"
    passkey_confirm_remove: "Diesen Passkey wirklich entfernen?"
    passkey_unnamed: "Passkey"
    passkey_register_title: "Passkey registrieren"
    passkey_register_intro: "Folgen Sie den Anweisungen Ihres Browsers oder Geräts (Face ID, Touch ID, Sicherheitsschlüssel)."
    passkey_register_submit: "Passkey registrieren"
    passkey_register_cancel: "Zurück"
    passkey_label_optional: "Bezeichnung (optional)"
    passkey_label_placeholder: "z. B. iPhone, YubiKey Büro"
    passkey_registered: "Passkey wurde gespeichert."
    passkey_removed: "Passkey wurde entfernt."
    passkey_invalid: "Registrierung fehlgeschlagen. Bitte erneut versuchen."
    passkey_login_hint: "Melden Sie sich mit Ihrem Passkey oder Sicherheitsschlüssel an."
    passkey_https_warning: "WebAuthn erfordert in der Regel HTTPS. Ohne verschlüsselte Verbindung kann die Anmeldung fehlschlagen."
    passkey_follow_browser: "Bestätigen Sie die Anfrage im Dialog Ihres Browsers oder Geräts."
    passkey_submit_hint: "Auf „Anmelden“ tippen, um die Passkey-Abfrage zu starten."
    admin_only: "2FA ist nur für Administratoren verfügbar."
    active: "Zwei-Faktor-Authentifizierung ist aktiv."
    inactive: "2FA ist nicht eingerichtet."
    enable: "2FA einrichten"
    disable: "2FA deaktivieren"
    confirm_disable: "Zwei-Faktor-Authentifizierung wirklich deaktivieren?"
    confirm: "Aktivierung bestätigen"
    code_label: "6-stelliger Code"
    step_confirm: "Scannen Sie den QR-Code mit Ihrer App und geben Sie einen gültigen Code ein."
    scan_qr: "QR-Code wurde erzeugt. Scannen Sie ihn mit Ihrer Authenticator-App."
    enabled: "2FA wurde aktiviert."
    disabled: "2FA wurde deaktiviert."
    invalid_code: "Der Code ist ungültig oder abgelaufen."
    cancel_setup: "Einrichtung abbrechen"
    setup_cancelled: "Die Einrichtung wurde abgebrochen."
    nav_link: "2FA einrichten"
    banner_no_2fa: "Für Ihr Administratoren-Konto ist keine Zwei-Faktor-Authentifizierung aktiv. Aus Sicherheitsgründen sollten Sie mindestens eine Methode einrichten."
    banner_no_2fa_action: "Zu den 2FA-Einstellungen"
    provider_totp: "Authenticator-App"
    provider_recovery: "Wiederherstellungscode"
    provider_webauthn_two_factor_provider: "Passkey"
    section_preferred: "Standard-Methode"
    preferred_intro: "Wenn mehrere 2FA-Methoden aktiv sind, wird beim Login zuerst die hier gewählte Methode angezeigt."
    preferred_save: "Speichern"
    preferred_saved: "Standard-2FA-Methode gespeichert."
    provider_passkey: "Passkey / Sicherheitsschlüssel"
    section_recovery: "Wiederherstellungscodes"
    recovery_status_ok: "Es sind %count% aktive Codes gespeichert (jeweils einmal verwendbar)."
    recovery_manage: "Codes verwalten"
    recovery_pending_regen: "Nach einem Login mit Wiederherstellungscode müssen neue Codes bestätigt werden."
    recovery_open_wizard: "Zum Einrichtungs-Assistenten"
    recovery_setup_required: "Bitte richten Sie Wiederherstellungscodes ein – verpflichtend bei aktivem 2FA."
    recovery_need_method: "Aktivieren Sie zuerst TOTP oder einen Passkey."
    recovery_login_title: "Wiederherstellungscode"
    recovery_login_subtitle: "Geben Sie einen Ihrer gespeicherten Codes ein (einmal gültig)."
    recovery_login_warning: "Nutzen Sie diese Option nur, wenn Sie weder Authenticator-App noch Passkey verwenden können. Nach erfolgreicher Anmeldung werden neue Codes erzeugt und müssen sofort gesichert werden."
    recovery_code_label: "Wiederherstellungscode"
  recovery_codes:
    title: "Wiederherstellungscodes einrichten"
    show_title: "Ihre Wiederherstellungscodes"
    manage_title: "Wiederherstellungscodes"
    intro: "Sie erhalten acht Codes. Jeder Code ist nur einmal verwendbar. Bewahren Sie sie sicher auf (Passwort-Manager, Ausdruck an einem sicheren Ort)."
    intro_warning: "Diese Codes werden nur einmal im Klartext angezeigt. Sichern Sie sie jetzt – ohne Codes kann die Anmeldung bei Verlust von App oder Passkey stark erschwert sein."
    generate: "Codes erzeugen"
    regenerate: "Neue Codes erzeugen"
    regenerate_warning: "Alle bisherigen Wiederherstellungscodes werden ungültig, sobald Sie neue erzeugen."
    regenerate_confirm: "Alle bestehenden Wiederherstellungscodes ungültig machen und neue erzeugen?"
    once_only: "Wichtig: Speichern Sie die Codes jetzt. Später können sie nicht erneut angezeigt werden."
    download: "Als Datei herunterladen"
    copy: "Alle kopieren"
    copied: "Kopiert"
    download_header: "TerraFlow CMS – Wiederherstellungscodes"
    confirm_challenge: "Geben Sie zur Bestätigung Code Nr. %n% ein (exakt wie angezeigt, Bindestriche optional)."
    code_label: "Code"
    checkbox_label: "Ich habe die Codes sicher gespeichert."
    finish: "Einrichtung abschließen"
    saved: "Wiederherstellungscodes sind eingerichtet."
    invalid_confirm_code: "Der eingegebene Code ist ungültig."
    checkbox_required: "Bitte bestätigen Sie, dass Sie die Codes gesichert haben."
    session_invalid: "Die Sitzung für diesen Schritt ist abgelaufen. Bitte starten Sie den Vorgang erneut."
    stuck_title: "Einrichtung fortsetzen"
    stuck_body: "Es existieren bereits gespeicherte Codes, aber die einmalige Anzeige ist nicht mehr verfügbar. Sie können neue Codes erzeugen; die alten werden dabei ungültig."
    lost_session_title: "Sitzung abgelaufen"
    lost_session_body: "Nach der Anmeldung mit einem Wiederherstellungscode müssen neue Codes angezeigt und gesichert werden. Diese Anzeige ist in dieser Browser-Sitzung nicht mehr verfügbar."
    lost_session_hint: "Melden Sie sich ab und erneut mit Passwort und Authenticator-App oder Passkey an. Wenn das nicht möglich ist, wenden Sie sich an eine Administratorin oder einen Administrator bzw. nutzen Sie ggf. die Wartungs-Konsole."
    logout: "Abmelden"
    need_2fa_first: "Aktivieren Sie zuerst TOTP oder einen Passkey."
    after_login_warning: "Sie haben sich mit einem Wiederherstellungscode angemeldet. Sichern Sie die neuen Codes jetzt – sie werden nur dieses eine Mal angezeigt."
    manage_intro: "Aktuell sind %count% Wiederherstellungscode(s) in Ihrem Konto hinterlegt."
    back_to_2fa: "Zurück zu 2FA-Einstellungen"
  search_button: "Suchen"
  save_shortcut_hint: "Drücken Sie Strg+S für eine schnelle Speicherung"
  no_category: "Keine Kategorie"
  no_pages_found: "Keine Seiten gefunden"
  create_first_page_description: "Erstellen Sie Ihre erste Seite, um zu beginnen."
  create_first_page_button: "Erste Seite erstellen"
  no_users_found: "Keine Benutzer gefunden"
  create_first_user_description: "Erstellen Sie Ihren ersten Benutzer, um zu beginnen."
  create_first_user_button: "Ersten Benutzer erstellen"
  role_management: "Rollenverwaltung"
  new_role: "Neue Rolle"
  search_placeholder: "Suchen..."
  system: "System"
  no_permissions: "Keine"
  really_delete: "Wirklich löschen?"
  no_roles_found: "Keine Rollen gefunden."
  roles_list_hint: "Filter und Tabelle – schneller Überblick über alle Rollen."
  roles_reset_filters: "Filter zurücksetzen"
  roles_empty_filtered: "Keine Rollen passen zu diesen Filtern. Filter anpassen oder zurücksetzen."
  roles_table_name: "Rolle"
  roles_table_description: "Beschreibung"
  roles_table_permissions: "Berechtigungen"
  roles_table_type: "Typ"
  roles_custom: "Benutzerdefiniert"
  roles_system_not_deletable: "Systemrollen können nicht gelöscht werden"
  inactive: "Inaktiv"
  no_modules_found: "Keine Module gefunden."
  system_modules: "System-Module"
  system_modules_description: "Verwalten Sie die System-Module und Werkzeuge"
  modules_description: "Verschiedene Module und Werkzeuge"
  access_modules: "Module öffnen"
  configure_system_settings: "Konfigurieren Sie Ihre Systemeinstellungen"
  system_options: "System-Optionen"
  allow_new_registrations: "Neue Benutzerregistrierungen erlauben"
  activate: "Aktivieren"
  no_plugins_found: "Keine Plugins gefunden. Legen Sie Plugins im plugin/ Verzeichnis ab."
  search_plugins_placeholder: "Suchen nach Name, Label, Autor..."
  no_media_found: "Keine Mediendateien gefunden"
  no_tools_found: "Keine Tools/Erweiterungen gefunden."
  german: "Deutsch"
  english: "English"
  user_role: "Benutzer"
  role_user: "ROLE_USER"
  edit_role: "Rolle bearbeiten"
  new_role_title: "Neue Rolle"
  installed: "Installiert"
  not_installed: "Nicht installiert"
  author: "Autor"
  dependencies: "Abhängigkeiten"
  configuration: "Konfiguration"
  file_information: "Datei-Informationen"
  usage: "Verwendungen"
  type: "Typ"
  available: "Verfügbar"
  edit_user_description: "Hier kannst du den Benutzer bearbeiten."
  upload_first_media_description: "Laden Sie Ihre erste Mediendatei hoch, um zu beginnen."
  shortcode_copied: "Referenz-Code kopiert!"
  meta_tags_description: "Meta-Tags für bessere Suchmaschinenoptimierung"
  global_css_description: "Globales CSS für alle Seiten"
  global_js_description: "Globales JavaScript für alle Seiten"
  global_js_bottom_description: "JavaScript vor dem schließenden </body> Tag"
  custom_navigation_description: "Benutzerdefinierte Navigation"
  global_footer_description: "Globaler Footer für alle Seiten"
  automatic_backups_description: "Automatische Backups aktivieren"
  show_admin_in_nav_description: "Admin-Link in der Navigation anzeigen"
  show_login_in_nav_description: "Login-Link in der Navigation anzeigen"
  show_logout_in_nav_description: "Logout-Link in der Navigation anzeigen"
  show_registration_in_nav_description: "Registrierungs-Link in der Navigation anzeigen"
  custom_maintenance_page: "Eigene Wartungsseite"
  custom_maintenance_description: "Leer lassen, um TerraFlows generische Wartungsseite zu verwenden."
  permissions:
    dashboard_access: "Dashboard - Zugriff"
    user_view: "Benutzer - Anzeigen"
    user_create: "Benutzer - Erstellen"
    user_edit: "Benutzer - Bearbeiten"
    user_delete: "Benutzer - Löschen"
    role_view: "Rollen - Anzeigen"
    role_create: "Rollen - Erstellen"
    role_edit: "Rollen - Bearbeiten"
    role_delete: "Rollen - Löschen"
    page_view: "Seiten - Anzeigen"
    page_create: "Seiten - Erstellen"
    page_edit: "Seiten - Bearbeiten"
    page_delete: "Seiten - Löschen"
    category_view: "Kategorien - Anzeigen"
    category_create: "Kategorien - Erstellen"
    category_edit: "Kategorien - Bearbeiten"
    category_delete: "Kategorien - Löschen"
    media_view: "Medien - Anzeigen"
    media_upload: "Medien - Hochladen"
    media_edit: "Medien - Bearbeiten"
    media_delete: "Medien - Löschen"
    settings_view: "Einstellungen - Anzeigen"
    settings_edit: "Einstellungen - Bearbeiten"
    plugins_view: "Plugins - Anzeigen"
    plugins_install: "Plugins - Installieren"
    plugins_edit: "Plugins - Bearbeiten"
    plugins_delete: "Plugins - Löschen"
    extensions_view: "Werkzeuge - Anzeigen"
    extensions_edit: "Werkzeuge - Bearbeiten"
    system_admin: "System - Administrator"
    view: "Anzeigen"
    create: "Erstellen"
    edit: "Bearbeiten"
    delete: "Löschen"
    access: "Zugriff"
    upload: "Hochladen"
    install: "Installieren"
    admin: "Administrator"
    cancel: "Abbrechen"
  create_image_compressor_settings: "Bildkompressor-Einstellungen erstellen"
  image_compressor_settings: "Bildkompressor-Einstellungen"
  file_format: "Dateiformat"
  database_backup: "Datenbank-Backup"
  manage_database_backups: "Verwalten Sie Ihre Datenbank-Backups effizient und sicher."
  upload_backup: "Backup hochladen"
  upload_backup_choose_file: "Wählen Sie eine Datei aus"
  no_backup_available: "Kein Backup verfügbar zum Herunterladen."
  reset_database_confirm: "Sind Sie sicher, dass Sie die Datenbank zurücksetzen möchten? Diese Aktion kann nicht rückgängig gemacht werden."
  open_menu: "Menü öffnen"
  close_menu: "Menü schließen"
  download_backup: "Backup herunterladen"
  reset_database: "Datenbank zurücksetzen"
  plugin_management: "Plugin-Verwaltung"
  plugin_information: "Plugin-Informationen"
  requirements: "Anforderungen"
  compatibility: "Kompatibilität"
  description: "Beschreibung"
  general_settings: "Allgemeine Einstellungen"
  navigation_footer: "Navigation & Footer"
  reload_plugins: "Plugins neu laden"
  deactivate: "Deaktivieren"
  uninstall: "Deinstallieren"
  plugin_deactivate_confirm: "Plugin deaktivieren?"
  plugin_uninstall_confirm: "Plugin wirklich deinstallieren? Alle Daten gehen verloren!"
  no_plugin_settings: "Dieses Plugin hat keine konfigurierbaren Einstellungen oder ist nicht installiert."
  
  # Plugin-specific translations
  plugin:
    install: "Installieren"
    deactivate: "Deaktivieren"
    uninstall: "Deinstallieren"
    install_confirm_title: "Plugin installieren"
    deactivate_confirm_title: "Plugin deaktivieren"
    uninstall_confirm_title: "Plugin deinstallieren"
    install_confirm_message: "Möchten Sie das Plugin \"{pluginName}\" wirklich installieren?"
    deactivate_confirm_message: "Möchten Sie das Plugin \"{pluginName}\" wirklich deaktivieren?"
    uninstall_confirm_message: "Möchten Sie das Plugin \"{pluginName}\" wirklich deinstallieren?"
    uninstall_warning: "Alle Plugin-Daten gehen verloren!"
  show_remember_me_description: '"Angemeldet bleiben" Option aktivieren'
  dashboard_welcome: "Willkommen im Admin-Dashboard! Hier findest du einen schnellen Überblick über deine Website."
  dashboard_stats_aria: "Kennzahlen Übersicht"
  dashboard_free_suffix: "frei"
  dashboard_missing_extensions: "Fehlende Extensions"
  dashboard_status_unknown: "Unbekannt"
  statistic_users: "Benutzer insgesamt"
  statistic_pages: "Seiten insgesamt"
  statistic_media: "Medien insgesamt"
  statistic_categories: "Kategorien insgesamt"
  statistic_roles: "Rollen insgesamt"
  statistic_plugins: "Plugins installiert"
  statistic_extensions: "Erweiterungen installiert"
  statistic_redirects: "Weiterleitungen eingerichtet"
  statistic_contact_requests: "Kontaktanfragen erhalten"
  statistic_backups: "Backups vorhanden"
  statistic_translations: "Übersetzungen vorhanden"
  button_group: "Button-Gruppe"
  details: "Details"
  configure: "Konfigurieren"
  install: "Installieren"
  plugin_install_confirm: "Plugin installieren?"
  landing_page: "Startseite"
  list_in_navigation: "In Navigation anzeigen"
  showTitle: "Titel anzeigen"
  passwordRepeat: "Passwort wiederholen"
  seo_meta_tags: "SEO & Meta-Tags"
  custom_code: "Benutzerdefinierter Code"
  dev_warning: "Achtung: Sie nutzen eine Entwicklungsversion von TerraFlow. Bitte verwenden Sie für den Produktivbetrieb eine stabile Version."
  env_dev_banner_title: "Entwicklungsumgebung (APP_ENV=dev): "
  env_dev_banner: "Symfony läuft im Modus „dev“
  . Für Produktion setzen Sie APP_ENV=prod und optimieren Sie den Cache."
  made_with: "Mit ❤️ von <a href=\"https://itsandre.mov/\">itsandre.mov</a>"
  title: "TerraFlowCMS"
  toggle_menu: "Menü umschalten"
  administrator: "Administrator"
  cancel: "Abbrechen"
  create_user_description: "Erstellen Sie einen neuen Benutzer für die Website"
  user:
    profile_image_preview: "Profilbild Vorschau"
    roles: "Rollen"
    user_id: "Benutzer ID"
    user_information: "Benutzerinformationen"
    username_placeholder: "Benutzername eingeben"
    username_help: "Eindeutiger Benutzername für die Anmeldung"
    email_placeholder: "email@beispiel.de"
    email_help: "Wird für Benachrichtigungen verwendet"
    password_placeholder: "Neues Passwort (optional)"
    password_help: "Leer lassen um das Passwort nicht zu ändern"
    roles_permissions: "Rollen & Berechtigungen"
    user_roles: "Benutzerrollen"
    roles_description: "Verwalten Sie die Berechtigungen des Benutzers"
    default_role_help: "Standardrolle - kann nicht entfernt werden"
    delete_confirm_prefix: "den Benutzer"

  manage_media_description: "Verwalten Sie die Mediendateien der Website"
  delete_media_confirm: "Sind Sie sicher, dass Sie diese Datei löschen möchten?"
  upload_first_media_button: "Erste Datei hochladen"
  categories_description: "Hier kannst du die Kategorien der Website verwalten."
  no_categories_found: "Keine Kategorien gefunden."
  create_first_category: "Erstellen Sie Ihre erste Kategorie, um zu beginnen."
  create_first_category_button: "Erste Kategorie erstellen"
  system_tools: "System-Tools"
  system_tools_description: "Erweiterte System-Tools und -Funktionen"
  tools_description: "Verschiedene Tools und Erweiterungen"
  access_tools: "Tools aufrufen"
  settings_description: "Systemeinstellungen und -konfiguration"
  access_settings: "Einstellungen aufrufen"
  plugins_description: "Plugin-Verwaltung und -Konfiguration"
  manage_plugins: "Plugins verwalten"
  page_info: "Seite %current% von %total%"
  active: "Aktiv"
  manage_roles_description: "Verwalten Sie Benutzerrollen und deren Berechtigungen"
  search_roles_placeholder: "Rollen suchen..."
  create_first_role_description: "Erstellen Sie Ihre erste Rolle, um Benutzerberechtigungen zu verwalten"
  create_first_role_button: "Erste Rolle erstellen"
  copy_reference: "Referenz-Code kopieren"
  permission_groups:
    dashboard: "Dashboard"
    user: "Benutzer"
    role: "Rolle"
    page: "Seite"
    category: "Kategorie"
    media: "Medien"
    license: "Lizenz-Verwaltung"
    settings: "Einstellungen"
    system: "System"
    plugins: "Plugins"
    modules: "Module"
    extensions: "Erweiterungen"
    tools: "Tools"
    "404": "404-Modul"
    backup: "Backup"
    translations: "Übersetzungen"
    maintenance: "Wartung"
    contact: "Kontakt"
    redirects: "Weiterleitungen"
    image: "Bildkomprimierung"
    accounting: "Buchhaltung"
    cache: "Cache"
    custom: "Eigene Felder"
  role:
    new_role: "Neue Rolle erstellen"
    edit_title: "Rolle bearbeiten"
    new_description: "Erstellen Sie eine neue Benutzerrolle mit spezifischen Berechtigungen"
    edit_description: "Bearbeiten Sie die Rolle und deren Berechtigungen"
    back: "Zurück"
    basic_info: "Grundinformationen"
    role_name: "Rollenname"
    role_name_placeholder: "z.B. Redakteur, Moderator"
    role_name_help: "Eindeutiger Name für die Rolle"
    description: "Beschreibung"
    description_placeholder: "Beschreibung der Rolle und deren Aufgaben"
    description_help: "Optionale Beschreibung der Rolle"
    system_role: "System-Rolle"
    system_role_help: "System-Rollen können nicht gelöscht werden"
    permissions_title: "Berechtigungen"
    quick_selection: "Schnellauswahl"
    select_all: "Alle auswählen"
    deselect_all: "Alle abwählen"
    read_only: "Nur Leserechte"
    editor: "Redakteur"
    administrator: "Administrator"
    permissions_count: "Berechtigung"
    permissions_count_plural: "Berechtigungen"
    no_permissions: "Keine Berechtigungen zugewiesen"
    confirm_delete: "Rolle wirklich löschen?"
    save: "Speichern"
  page:
    basic_info: "Grundinformationen"
    content_section: "Inhalt & Einstellungen"
    new_description: "Erstellen Sie eine neue Seite mit individuellen Einstellungen."
    edit_description: "Bearbeiten Sie die Seite und deren Einstellungen."
    delete_confirm_prefix: "die Seite"

menu:
  language: "Sprache"
  logout: "Abmelden"

form:
  translation:
    qualifier: "Qualifier"
    text: "Text"
    locale: "Sprachenkürzel"
  category:
    parent: 'Übergeordnete Kategorie'
    title: 'Titel'
    active: 'Aktiv'
    priority: 'Priorität'
    route: 'Route'
    show_listing_methods: 'Sortierung auf Kategorieseite anzeigen'
    no_parent: "Keine übergeordnete Kategorie"
  custom_field_set:
    name: 'Name'
    technical_name: 'Technischer Name'
    description: 'Beschreibung'
    entity_type: 'Entitätstyp'
    active: 'Aktiv'
    position: 'Position'
    custom_fields: 'Zusatzfelder'
  custom_field:
    name: 'Name'
    technical_name: 'Technischer Name'
    type: 'Typ'
    description: 'Beschreibung'
    required: 'Erforderlich'
    active: 'Aktiv'
    position: 'Position'
    default_value: 'Standardwert'
  page:
    hide_navigation: 'Navigation auf dieser Seite verstecken'
    show_title: 'Zeige Titel an'
    footer: 'Footer'
    footer_overwrite: 'Globaler Footer überschreiben'
    stylesheets_overwrite: 'Globale Stylesheets überschreiben'
    javascripts_bottom_overwrite: 'Globale Javascripts (unten) überschreiben'
    javascripts_overwrite: 'Globale Javascripts überschreiben'
    permission_required: 'Benötigte Berechtigung'
    title: 'Titel'
    content: 'Inhalt'
    category: 'Kategorie'
    active: 'Aktiv'
    active_help: "Bei Status „Veröffentlicht“ steuert dies die Live-Sichtbarkeit. Entwurf/Geplant setzen „Inaktiv“ automatisch."
    publication_status: 'Veröffentlichungsstatus'
    publication_status_draft: 'Entwurf'
    publication_status_scheduled: 'Geplant'
    publication_status_published: 'Veröffentlicht'
    keep_public_while_draft: 'Letzte veröffentlichte Version online lassen'
    keep_public_while_draft_help: 'Besucher sehen weiter den zuletzt veröffentlichten Stand: bei Entwurf, bis Sie erneut veröffentlichen; bei „Geplant“, bis zum gewählten Zeitpunkt (dann geht der bearbeitete Stand live). Ohne Häkchen ist die Seite öffentlich vorerst nicht erreichbar.'
    edit_published_hint: 'Diese Seite ist gerade öffentlich sichtbar. Zum Bearbeiten ohne sofortige Live-Schaltung wählen Sie „Entwurf“ und speichern Sie.'
    scheduled_publish_at: 'Geplante Veröffentlichung'
    validation:
      scheduled_needs_date: 'Bitte Datum und Uhrzeit für die geplante Veröffentlichung angeben.'
      scheduled_must_be_future: 'Das geplante Datum muss in der Zukunft liegen.'
    priority: 'Priorität'
    stylesheets: 'Stylesheets'
    javascripts_bottom: 'Javascripts (unten)'
    javascripts: 'Javascripts'
    route: 'Route'
    meta_tags: 'Meta Tags'
    list_in_navigation: 'In Navigation anzeigen'
    landing_page: 'Startseite'
    meta_tags_overwrite: 'Globale Meta Tags überschreiben'
    navigation: 'Navigation'
  registration:
    username: 'Benutzername'
    email: 'E-Mail'
    email_required: 'Bitte geben Sie Ihre E-Mail-Adresse ein.'
    email_invalid: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.'
    agree_terms: 'Ich stimme den Nutzungsbedingungen zu'
    should_agree_terms: 'Sie müssen den Nutzungsbedingungen zustimmen'
    please_enter_password: 'Bitte geben Sie ein Passwort ein'
    password_too_short: 'Das Passwort ist zu kurz'
    password: 'Passwort'
  forgot_password:
    identifier: "Benutzername oder E-Mail"
    identifier_required: "Bitte geben Sie einen Benutzernamen oder eine E-Mail ein."
  reset_password:
    new_password: "Neues Passwort"
    repeat_new_password: "Neues Passwort wiederholen"
    password_required: "Bitte geben Sie ein neues Passwort ein."
    password_too_short: "Das Passwort muss mindestens 8 Zeichen lang sein."
    password_mismatch: "Die Passwörter stimmen nicht überein."
  settings:
    navigation: 'Globale Navigation'
    login_with_email: 'Mit E-Mail einloggen'
    login_identifier_mode: 'Login-Modus'
    login_identifier_mode_username: 'Nur Benutzername'
    login_identifier_mode_email: 'Nur E-Mail'
    login_identifier_mode_both: 'Benutzername oder E-Mail'
    allow_password_reset: 'Passwort vergessen erlauben'
    showLogoutInNavigation: 'Logout in Navigation anzeigen'
    text_separator: 'Titeltrenner'
    theme: 'Theme'
    show_administration_in_navigation: 'Administration in Navigation anzeigen'
    global_stylesheet: 'Globales Stylesheet'
    global_javascript: 'Globales Javascript'
    global_javascript_bottom: 'Globales Javascript (unten)'
    global_footer: 'Globaler Footer'
    system_name: 'Systemname'
    timezone: 'Zeitzone'
    automatic_backup: 'Automatisches Backup'
    allow_registrations: 'Registrierungen erlauben'
    show_login_in_navigation: 'Login in Navigation anzeigen'
    show_registration_in_navigation: 'Registrierung in Navigation anzeigen'
    show_logout_in_navigation: 'Logout in Navigation anzeigen'
    favicon: 'Favicon'
    allow_remember_me_on_login: 'Remember me auf Login erlauben'
    meta_tags: 'Globale Meta Tags'
    robots_txt: 'Inhalt der robots.txt'
    robots_txt_help: 'Leer lassen für die Standard-robots.txt. Wenn Sie keinen Eintrag „Sitemap:“ setzen, wird die Sitemap-URL automatisch angehängt.'
  privacy:
    cookie_consent_enabled: 'Cookie-Banner aktivieren'
    cookie_policy_url: 'Link zur Cookie-/Datenschutzerklärung (URL)'
    cookie_consent_intro: 'Optionaler Text über den Kategorien (HTML erlaubt)'
    cookie_consent_intro_help: 'Wird im Banner unter der Überschrift angezeigt. Nur vertrauenswürdige Inhalte einfügen.'
    gdpr_identifier_label: 'Benutzer-ID, E-Mail oder Benutzername'
    gdpr_identifier_placeholder: 'z. B. 12 oder name@beispiel.de'
    gdpr_identifier_help: 'Es wird genau ein passendes Konto gesucht.'
    gdpr_export_submit: 'JSON-Export herunterladen'
    gdpr_erase_confirm_label: 'Bestätigung (exakt DELETE eingeben)'
    gdpr_erase_confirm_help: 'Geben Sie DELETE ein, um die Löschung zu bestätigen.'
    gdpr_erase_submit: 'Konto endgültig löschen'
  user:
    username: "Benutzername"
    profile_image: "Profilbild"
    email: "E-Mail"
    password: "Passwort"
    roles: "Rollen"
    username_required: "Bitte geben Sie einen Benutzernamen ein."
    username_min_length: "Der Benutzername muss mindestens {{ limit }} Zeichen lang sein."
    username_max_length: "Der Benutzername darf maximal {{ limit }} Zeichen lang sein."
    email_required: "Bitte geben Sie eine E-Mail-Adresse ein."
    password_required: "Bitte geben Sie ein Passwort ein."
    password_min_length: "Das Passwort muss mindestens {{ limit }} Zeichen lang sein."
    password_leave_empty: "Leer lassen um das Passwort nicht zu ändern"
    profile_image_invalid_type: "Bitte laden Sie ein gültiges Bild hoch (JPG, PNG, WebP oder GIF)."
    profile_image_max_size: "Das Bild darf maximal 5MB groß sein."
    profile_image_help: "Maximal 5MB. Erlaubte Formate: JPG, PNG, WebP, GIF"
    profile_picture: "Profilbild"
    username_placeholder: "Benutzername eingeben"
    email_placeholder: "email@beispiel.de"
    password_placeholder: "Neues Passwort (optional)"
    password_help: "Leer lassen um das Passwort nicht zu ändern"
    password_min_help: "Mindestens 6 Zeichen"
    password_min_help_invite: "Optional, wenn Einladungsmail aktiv ist (sonst Pflicht). Mindestens 6 Zeichen."
    send_invitation_email: "Einladungsmail versenden"
    send_invitation_email_help: "Sendet einen Link zum Passwort-Setzen (ein Stunde gültig). Funktioniert auch wenn „Passwort vergessen“ deaktiviert ist."
    profile_image_preview: "Profilbild Vorschau"
    default_role_help: "Standardrolle - kann nicht entfernt werden"
    user_information: "Benutzerinformationen"
    username_help: "Eindeutiger Benutzername für die Anmeldung"
    email_help: "Wird für Benachrichtigungen verwendet"
    roles_permissions: "Rollen & Berechtigungen"
    user_roles: "Benutzerrollen"
    roles_description: "Verwalten Sie die Berechtigungen des Benutzers"
  email_template:
    subject: "Betreff (Twig)"
    html_body: "HTML-Inhalt (Twig)"
    text_body: "Text-Inhalt (Twig, optional)"
    active: "Aktiv"
  media:
    name: "Name"
    upload_file: "Datei hochladen"
    invalid_file_type: "Bitte laden Sie eine gültige Datei hoch (JPEG, PNG, PDF)."
  image_compressor:
    file_format: "Dateiendung"
    file_format_help: "Welche hochgeladenen Dateien diese Regel betrifft."
    choose_format: "Endung wählen …"
    format_jpg: "JPEG (.jpg)"
    format_jpeg: "JPEG (.jpeg)"
    format_png: "PNG"
    format_webp: "WebP"
    active: "Aktiv"
    quality: "Qualität (JPEG/WebP, 1–100)"
    quality_help: "Höher = bessere Bildqualität, größere Datei. Entspricht jpegoptim --max und cwebp -q."
    png_level: "PNG-Optimierung (0–7)"
    png_level_help: "optipng -o: höhere Stufen sind langsamer, können aber mehr sparen."
    strip_metadata: "Metadaten bei JPEG entfernen"
    strip_metadata_help: "Entfernt EXIF/IPTC (jpegoptim --strip-all). Empfohlen für die Web-Auslieferung."
  redirect:
    source: "Quell-Route"
    destination: "Ziel-URL"
    status_code: "HTTP Status Code"
    301_moved_permanently: "301 Dauerhaft verschoben"
    302_found: "302 Gefunden"
    delete_confirm_prefix: "die Weiterleitung"

  # Console Messages
  console:
    modal_system_initialized: "Modal-System initialisiert"
    modal_translations_available: "Modal-Übersetzungen verfügbar"
    modal_system_loaded: "Modal-System geladen"
    css_loading_error: "Fehler beim Laden der CSS-Datei:"
    wysiwyg_css_loading_error: "Fehler beim Laden der WYSIWYG CSS-Datei:"
    mobile_dropdown_found_buttons: "Mobile Dropdown-Buttons gefunden:"
    mobile_dropdown_buttons: "Buttons"
    mobile_dropdown_added_listener: "Event-Listener hinzugefügt"
    mobile_dropdown_clicked: "Mobile Dropdown geklickt"
    mobile_dropdown_button: "Button:"
    mobile_dropdown_menu: "Menu:"
    mobile_dropdown_no_menu: "Kein Dropdown-Menu gefunden"
    mobile_dropdown_creating_modal: "Erstelle Mobile Modal"

  # Notifications
  notifications:
    system_initialized: "Notification-System initialisiert"
    saving: "Wird gespeichert"
    network_error: "Netzwerkfehler"
    connection_failed: "Verbindung fehlgeschlagen"

  # Mobile Dropdown
  mobile_dropdown:
    options: "Optionen"
    close: "Schließen"

storefront:
  register:
    saas_plan_selected: "Gewählter SaaS-Tarif: %plan%. Die Einstellungen aus dem Preisrechner werden übernommen."
  auth:
    forgot_password_title: "Passwort vergessen"
    forgot_password_description: "Geben Sie Ihre Login-Kennung ein. Wenn ein Konto existiert, senden wir einen Link zum Zurücksetzen."
    send_reset_link: "Reset-Link senden"
    back_to_login: "Zurück zum Login"
    reset_request_sent: "Wenn ein passendes Konto existiert, wurde ein Reset-Link versendet."
    reset_token_invalid: "Der Reset-Link ist ungültig oder abgelaufen."
    reset_password_title: "Neues Passwort festlegen"
    reset_password_description: "Setzen Sie ein neues Passwort für Ihr Konto."
    reset_password_submit: "Passwort speichern"
    password_reset_success: "Ihr Passwort wurde erfolgreich geändert. Bitte melden Sie sich neu an."
    reset_mail_subject: "Passwort zurücksetzen"
    reset_mail_intro: "Sie haben eine Anfrage zum Zurücksetzen Ihres Passworts gestellt."
    reset_mail_cta: "Passwort jetzt zurücksetzen"
    reset_mail_expiry: "Dieser Link ist 1 Stunde gültig."
    reset_mail_ignore: "Falls Sie diese Anfrage nicht gestellt haben, können Sie diese E-Mail ignorieren."
  oauth:
    or_continue: "Oder anmelden mit"
    continue_with: "Weiter mit %name%"
    linked_success: "Das Konto wurde verknüpft."
    error_state: "Ungültige OAuth-Sitzung. Bitte erneut versuchen."
    error_denied: "Anmeldung beim Anbieter abgebrochen."
    error_token: "Token-Austausch fehlgeschlagen. Prüfen Sie Client-ID, Secret und Redirect-URL."
    error_profile: "Profildaten konnten nicht gelesen werden."
    error_misconfigured: "OAuth-Anbieter ist nicht korrekt konfiguriert."
    error_no_email: "Der Anbieter hat keine E-Mail-Adresse geliefert. Registrierung ist nicht möglich."
    error_email_exists: "Ein Konto mit dieser E-Mail existiert bereits. Melden Sie sich an und verknüpfen Sie den Anbieter im Profil."
    error_registration_disabled: "Registrierung ist deaktiviert. Es existiert kein Konto für diese Anmeldung."
    error_link_taken: "Dieses externe Konto ist bereits mit einem anderen Benutzer verknüpft."
    error_already_linked: "Sie haben diesen Anbieter bereits verknüpft."
    error_account_other_user: "Dieses externe Konto gehört zu einem anderen Benutzer."
    error_provider_slot: "Für diesen Anbieter ist bereits eine andere externe Identität mit Ihrem Konto verknüpft."
    error_generic: "OAuth-Anmeldung fehlgeschlagen."

privacy:
  cookie:
    banner_title: "Cookies & Datenschutz"
    accept_all: "Alle akzeptieren"
    reject_optional: "Nur notwendige"
    save_choice: "Auswahl speichern"
    policy_link: "Hinweise & Datenschutz"
    category:
      necessary:
        label: "Notwendig"
        description: "Erforderlich für Grundfunktionen (Sitzung, Sicherheit, Cookie-Auswahl)."
      functional:
        label: "Funktional"
        description: "Komfortfunktionen (z. B. Sprache, erweiterte UI)."
      analytics:
        label: "Statistik"
        description: "Reichweitenmessung und Nutzungsanalyse (nur mit Zustimmung)."
      marketing:
        label: "Marketing"
        description: "Personalisierung und Werbung (nur mit Zustimmung)."

copyright: "TerraFlowCMS © %year%"

license:
  status:
    active: "Aktive Lizenz"
    expired: "Lizenz abgelaufen"
    expiring_soon: "Lizenz läuft bald ab"
    valid_until: "Gültig bis"
    license_type: "Lizenz-Typ"
    domains: "Domains"
    renew: "Lizenz verlängern"
    renew_now: "Jetzt verlängern"
    expired_notice: "Achtung: Ihre Lizenz ist abgelaufen. Bitte verlängern Sie Ihre Lizenz, um die Anwendung weiterhin nutzen zu können."
    expiring_soon_notice: "Hinweis: Ihre Lizenz läuft bald ab. Verlängern Sie Ihre Lizenz, um weiter vollen Zugriff zu haben."
    license_key: "Lizenzschlüssel"
    current: "Aktuelle Lizenz"
    active_notice: "Ihre Lizen ist gültig und aktiv."
    description: "Hier kannst du deine Lizenz verwalten und verlängern."
    title: "TerraFlowCMS Lizenz"

date_format: "d.m.Y H:i"

error:
  unknown_error: "Ein unbekannter Fehler ist aufgetreten."
  page_not_found: "Seite nicht gefunden."
  unauthorized: "Nicht autorisiert."
  forbidden: "Verboten."
  unknown_action: "Unbekannte Aktion."
  unknown: "Unbekannter Fehler."
  no_permission: "Sie haben keine Berechtigung für diese Aktion."
  email_template_test_invalid: "Bitte geben Sie eine gültige E-Mail-Adresse für den Testversand ein."
  email_template_test_failed: "Testversand fehlgeschlagen: %message%"
  general: "Ein Fehler ist aufgetreten."
  file_upload: "Fehler beim Upload der Datei."
  profile_image_upload: "Fehler beim Upload des Profilbildes: %error%"
  captcha: "Fehlerhaftes Captcha, bitte versuchen Sie es erneut."

success:
  contact_form: "Vielen Dank für Ihre Nachricht. Wir werden uns so schnell wie möglich bei Ihnen melden."
  media_management: "Medienverwaltung"
  upload_new_media: "Neue Datei hochladen"
  copy_shortcode: "Referenz-Code kopieren"
  copy: "Kopieren"
  available: "Verfügbar"
  file_information: "Datei-Informationen:"
  delete_media_confirm: "Sind Sie sicher, dass Sie diese Datei löschen möchten?"
  upload_first_media_description: "Laden Sie Ihre erste Mediendatei hoch, um zu beginnen."
  upload_first_media_button: "Erste Datei hochladen"
  categories_description: "Hier kannst du die Kategorien der Website verwalten."
  no_categories_found: "Keine Kategorien gefunden."
  create_first_category: "Erstellen Sie Ihre erste Kategorie, um zu beginnen."
  create_first_category_button: "Erste Kategorie erstellen"
  duplicate: "Duplizieren"
  view: "Ansehen"
  edit: "Bearbeiten"
  delete: "Löschen"
  first: "Erste"
  previous: "Zurück"
  next: "Weiter"
  last: "Letzte"
  upload_media: "Datei hochladen"
  suchen: "Suchen"
  create_first_user_button: "Ersten Benutzer erstellen"
  bearbeiten: "Bearbeiten"
  media_uploaded: "Datei erfolgreich hochgeladen."
  media_deleted: "Datei erfolgreich gelöscht."
  media_updated: "Mediendatei wurde aktualisiert."
  user_created: "Benutzer erfolgreich erstellt!"
  user_created_invite_sent: "Benutzer erstellt und Einladungsmail wurde versendet."
  user_updated: "Benutzer wurde erfolgreich aktualisiert."
  user_deleted: "Benutzer wurde erfolgreich gelöscht."
  settings_saved: "Einstellungen erfolgreich gespeichert."
  page_duplicated: "Seite erfolgreich dupliziert."
  category_deleted: "Kategorie erfolgreich gelöscht."
  category_duplicated: "Kategorie erfolgreich dupliziert."
  language_changed: "Sprache erfolgreich geändert."
  maintenance_enabled: "Wartungsmodus wurde aktiviert."
  maintenance_disabled: "Wartungsmodus wurde deaktiviert."
  page_created: "Seite erfolgreich erstellt."
  email_template_saved: "E-Mail-Template wurde gespeichert."
  email_template_test_sent: "Test-E-Mail wurde versendet."

  # Cache Management
  
warning:
  user_created_invite_failed: "Benutzer wurde erstellt, aber die Einladungsmail konnte nicht versendet werden: %message%"

email_template:
  type:
    password_reset:
      name: "Passwort zurücksetzen"
      description: "Mail nach „Passwort vergessen“ mit Link zum Neusetzen des Passworts."
    user_invitation:
      name: "Nutzer-Einladung"
      description: "Mail nach Anlage eines Benutzers im Admin mit Link zur Kontoaktivierung."

