<?php
return [
    // General
    'app_name'          => 'Plenvo',
    'save'              => 'Speichern',
    'cancel'            => 'Abbrechen',
    'delete'            => 'Löschen',
    'edit'              => 'Bearbeiten',
    'create'            => 'Erstellen',
    'created_at_label'  => 'Erstellt',
    'updated_at_label'  => 'Bearbeitet',
    'back'              => 'Zurück',
    'search'            => 'Suchen',
    'filter'            => 'Filtern',
    'actions'           => 'Aktionen',
    'yes'               => 'Ja',
    'no'                => 'Nein',
    'confirm_delete'    => 'Wirklich löschen?',
    'loading'           => 'Lädt...',
    'error'             => 'Fehler',
    'success'           => 'Erfolgreich',
    'warning'           => 'Warnung',
    'required_field'    => 'Pflichtfeld',
    'optional'          => 'Optional',
    'none'              => 'Keiner',
    'all'               => 'Alle',
    'close'             => 'Schließen',
    'add'               => 'Hinzufügen',
    'remove'            => 'Entfernen',
    'settings'          => 'Einstellungen',
    'hello'             => 'Hallo',
    'just_now'          => 'Gerade eben',
    'minutes_ago'       => 'Minuten her',
    'hours_ago'         => 'Stunden her',
    'days_ago'          => 'Tage her',
    'view_task'         => 'Aufgabe öffnen',
    'access_denied'     => 'Zugriff verweigert',
    'not_found'         => 'Nicht gefunden',
    'no_results'        => 'Keine Treffer',

    // Auth
    'login'             => 'Anmelden',
    'register'          => 'Registrieren',
    'logout'            => 'Abmelden',
    'email'             => 'E-Mail',
    'password'          => 'Passwort',
    'password_confirm'  => 'Passwort bestätigen',
    'login_title'       => 'Willkommen zurück',
    'login_subtitle'    => 'Melden Sie sich bei Ihrem Konto an',
    'login_error'       => 'Ungültige E-Mail oder Passwort',
    'login_rate_limited'=> 'Zu viele Anmeldeversuche. Bitte warten Sie 15 Minuten.',
    'login_account_locked' => 'Dieses Konto ist nach mehreren fehlgeschlagenen Anmeldeversuchen vorübergehend gesperrt. Bitte später erneut versuchen oder das Passwort zurücksetzen.',
    'session_expired'   => 'Ihre Sitzung ist abgelaufen. Bitte erneut anmelden.',
    'password_pwned'    => 'Dieses Passwort wurde in bekannten Datenlecks gefunden. Bitte ein anderes wählen.',

    // Security settings (BSI APP.3.1)
    'security_settings'         => 'Sicherheitsrichtlinien',
    'sec_lockout_title'         => 'Konto-Sperre nach Fehlversuchen',
    'sec_lockout_desc'          => 'Sperrt das Konto nach mehreren falschen Passwörtern. Konten mit aktiver Zwei-Faktor-Authentifizierung sind ausgenommen.',
    'sec_lockout_enable'        => 'Konto-Sperre aktivieren',
    'sec_lockout_threshold'     => 'Fehlversuche bis Sperre',
    'sec_lockout_threshold_hint'=> 'Empfohlen: 5 (BSI ORP.4.A8).',
    'sec_lockout_duration'      => 'Sperrdauer (Minuten)',
    'sec_lockout_duration_hint' => 'Wie lange das Konto nach Erreichen der Schwelle gesperrt bleibt.',
    'sec_session_title'         => 'Sitzungs-Zeitlimits',
    'sec_session_desc'          => 'Beendet Sitzungen automatisch zum Schutz vor übernommenen Browsern (BSI APP.3.1.A15). 0 = deaktiviert.',
    'sec_session_idle'          => 'Inaktivitäts-Timeout (Minuten)',
    'sec_session_idle_hint'     => 'Standard: 30. Sitzung wird beendet, wenn so lange keine Aktion stattfand.',
    'sec_session_absolute'      => 'Maximale Sitzungsdauer (Stunden)',
    'sec_session_absolute_hint' => 'Standard: 8. Erzwingt erneute Anmeldung nach dieser Gesamtzeit.',
    'sec_pwned_title'           => 'Bereits geleakte Passwörter beim Setzen blockieren',
    'sec_pwned_enable'          => 'Beim Setzen oder Ändern eines Passworts gegen die HIBP-Datenleck-Datenbank prüfen',
    'sec_pwned_hint'            => 'Verhindert nur, dass ein in einem öffentlich bekannten Datenleck enthaltenes Passwort neu vergeben wird (Registrierung, Passwort-Wechsel, Reset, Admin-Anlage). Bestehende Passwörter werden nicht nachträglich überprüft – HIBP arbeitet auf Klartext, in der DB liegt nur ein bcrypt-Hash. Es wird nur ein SHA-1-Präfix (5 Zeichen) übertragen, nie das Passwort selbst (k-anonymity).',
    'login_btn'         => 'Anmelden',
    'remember_me'       => 'Angemeldet bleiben',

    // Install
    'install_title'     => 'Installation',
    'install_subtitle'  => 'Erstellen Sie Ihr Administrator-Konto',
    'install_btn'       => 'Installation abschließen',
    'install_success'   => 'Installation erfolgreich',

    // System requirements check
    'sys_requirements'          => 'Systemvoraussetzungen',
    'sys_req_all_ok'            => 'Alle Voraussetzungen erfüllt',
    'sys_req_optional_missing'  => 'Optionale Funktionen fehlen',
    'sys_req_critical_missing'  => 'Kritische Anforderungen fehlen',
    'sys_req_optional'          => 'optional',
    'sys_req_write_permission'  => 'Schreibrecht auf Projektverzeichnis',
    'sys_req_curl_detail'       => 'KI-Assistent & Update-Prüfung',
    'sys_req_ldap_detail'       => 'LDAP/AD-Authentifizierungs-Plugin',
    'sys_req_zip_detail'        => '1-Klick-Updates',

    // Health check (admin settings)
    'health_check'           => 'Health Check',
    'hc_refresh'             => 'Aktualisieren',
    'hc_loading'             => 'Prüfung läuft…',
    'hc_cron'                => 'Cron-Job',
    'hc_cron_never'          => 'Noch nie ausgeführt – Cron-Job eingerichtet?',
    'hc_cron_ok'             => 'Vor :min Min. ausgeführt',
    'hc_cron_late'           => 'Vor :min Min. – läuft möglicherweise nicht minütlich',
    'hc_cron_stale'          => 'Vor :h Std. – Cron-Job läuft offenbar nicht',
    'hc_probe_db'            => 'Datenbankdatei nicht öffentlich erreichbar',
    'hc_probe_uploads'       => 'Upload-Verzeichnis nicht öffentlich erreichbar',
    'hc_probe_exposed'       => 'ÖFFENTLICH ERREICHBAR – sofort .htaccess prüfen!',
    'hc_probe_blocked'       => 'Gesperrt (HTTP :code)',
    'hc_probe_no_conn'       => 'Keine Verbindung – App-URL konfiguriert?',
    'hc_probe_unexpected'    => 'Unerwarteter HTTP-Status: :code',
    'hc_no_app_url'          => 'App-URL nicht konfiguriert',
    'hc_htaccess_data'       => '.htaccess in data/ vorhanden',
    'hc_htaccess_uploads'    => '.htaccess in uploads/ vorhanden',
    'hc_file_present'        => 'Datei vorhanden',
    'hc_file_missing'        => 'Datei fehlt – .htaccess anlegen oder Install-Wizard erneut ausführen',
    'admin_username'    => 'Vorname & Nachname',
    'admin_email'       => 'Administrator E-Mail',
    'admin_password'    => 'Administrator Passwort',

    // Navigation
    'dashboard'         => 'Dashboard',
    'projects'          => 'Projekte',
    'my_tasks'          => 'Meine Aufgaben',
    'notifications'     => 'Benachrichtigungen',
    'admin'             => 'Administration',
    'profile'           => 'Profil',
    'preferences'       => 'Voreinstellungen',
    'plugins'           => 'Plugins',
    'help'              => 'Hilfe',

    // Dashboard
    'welcome_back'      => 'Willkommen zurück',
    'active_projects'   => 'Aktive Projekte',
    'open_tasks'        => 'Offene Aufgaben',
    'done_tasks'        => 'Erledigte Aufgaben',
    'all_tasks'         => 'Alle Aufgaben',
    'my_tasks_empty'    => 'Dir sind keine Aufgaben zugewiesen.',
    'reset'             => 'Zurücksetzen',
    'today'             => 'Heute',
    'due_today'         => 'Heute fällig',
    'overdue'           => 'Überfällig',
    'recent_activity'   => 'Letzte Aktivitäten',
    'my_open_tasks'     => 'Meine offenen Aufgaben',
    'no_tasks'          => 'Keine Aufgaben',
    'no_activity'       => 'Keine Aktivitäten',

    // Projects
    'project'           => 'Projekt',
    'new_project'       => 'Neues Projekt',
    'project_name'      => 'Projektname',
    'project_desc'      => 'Beschreibung',
    'project_color'     => 'Farbe',
    'project_status'    => 'Status',
    'project_owner'     => 'Inhaber',
    'project_members'   => 'Mitglieder',
    'project_settings'  => 'Projekteinstellungen',
    'default_view'      => 'Standardansicht',
    'required_fields'   => 'Pflichtfelder für Aufgaben',
    'no_projects'       => 'Noch keine Projekte',
    'create_first'      => 'Erstellen Sie Ihr erstes Projekt',
    'archived'          => 'Archiviert',
    'active'            => 'Aktiv',
    'archive_project'   => 'Projekt archivieren',
    'archive_project_desc' => 'Das Projekt wird für alle Mitglieder ausgeblendet.',
    'delete_project_desc'  => 'Diese Aktion ist unwiderruflich. Alle Aufgaben werden gelöscht.',
    'delete_project_confirm' => 'Projekt wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden!',
    'restore_project'   => 'Wiederherstellen',
    'delete_project'    => 'Projekt löschen',
    'project_created'   => 'Projekt erstellt',
    'project_updated'   => 'Projekt aktualisiert',
    'project_deleted'   => 'Projekt gelöscht',

    // Views
    'kanban'            => 'Kanban',
    'list'              => 'Liste',
    'gantt'             => 'Gantt',
    'add_status'        => 'Status hinzufügen',
    'status_name'       => 'Status Name',
    'mark_as_done'      => 'Als erledigt markieren',

    // Tasks
    'task'              => 'Aufgabe',
    'tasks'             => 'Aufgaben',
    'new_task'          => 'Neue Aufgabe',
    'task_title'        => 'Titel',
    'task_desc'         => 'Beschreibung',
    'description'       => 'Beschreibung',
    'task_status'       => 'Status',
    'task_priority'     => 'Priorität',
    'assigned_to'       => 'Zugewiesen an',
    'external_short'           => 'Extern',
    'external_name_placeholder'=> 'Namen eingeben...',
    'created_by'        => 'Erstellt von',
    'due_date'          => 'Fälligkeitsdatum',
    'start_date'        => 'Startdatum',
    'labels'            => 'Labels',
    'attachments'       => 'Anhänge',
    'upload_file'       => 'Datei hochladen',
    'predecessors'      => 'Vorgänger',
    'successors'        => 'Nachfolger',
    'no_predecessors'   => 'Kein Vorgänger',
    'no_successors'     => 'Kein Nachfolger',
    'predecessors_hint' => 'Mehrfachauswahl mit Strg/Cmd + Klick',
    'task_created'      => 'Aufgabe erstellt',
    'task_updated'      => 'Aufgabe aktualisiert',
    'task_deleted'      => 'Aufgabe gelöscht',
    'file_uploaded'     => 'Datei hochgeladen',
    'no_tasks_here'     => 'Keine Aufgaben in diesem Status',
    'drag_here'         => 'Hierher ziehen',

    // Priority
    'priority'          => 'Priorität',
    'priority_low'      => 'Niedrig',
    'priority_medium'   => 'Mittel',
    'priority_high'     => 'Hoch',
    'priority_urgent'   => 'Dringend',

    // Comments
    'comments'          => 'Kommentare',
    'add_comment'       => 'Kommentar hinzufügen',
    'comment_placeholder' => 'Schreiben Sie einen Kommentar...',
    'no_comments'       => 'Noch keine Kommentare',
    'comment_posted'    => 'Kommentar gepostet',
    'edited'            => 'Bearbeitet',

    // Members
    'members'           => 'Mitglieder',
    'add_member'        => 'Mitglied hinzufügen',
    'member_role'       => 'Rolle',
    'role_owner'        => 'Inhaber',
    'role_manager'      => 'Projektleiter',
    'role_member'       => 'Mitarbeiter',
    'role_guest'        => 'Gast',
    'all_users_are_members' => 'Alle Benutzer sind bereits Mitglieder dieses Projekts.',
    'member_added'      => 'Mitglied hinzugefügt',
    'member_removed'    => 'Mitglied entfernt',
    'member_updated'    => 'Mitglied aktualisiert',
    'last_owner_error'  => 'Das Projekt muss mindestens einen Inhaber haben.',
    'select_user'       => 'Benutzer auswählen',

    // Admin
    'users'             => 'Benutzer',
    'new_user'          => 'Neuer Benutzer',
    'username'          => 'Vorname & Nachname',
    'user_role'         => 'Systemrolle',
    'role_admin'        => 'Administrator',
    'role_user'         => 'Benutzer',
    'user_active'       => 'Aktiv',
    'user_inactive'     => 'Inaktiv',
    'user_created'      => 'Benutzer erstellt',
    'user_updated'      => 'Benutzer aktualisiert',
    'user_deleted'      => 'Benutzer gelöscht',
    'remove_from_group'         => 'Aus Gruppe entfernen',
    'user_removed_from_group'   => 'Benutzer aus der Gruppe entfernt',
    'confirm_remove_from_group' => 'Benutzer wirklich aus der Gruppe entfernen?',
    'last_login'        => 'Letzter Login',
    'never'             => 'Nie',
    'system_settings'   => 'Systemeinstellungen',
    'nav_support'       => 'Support',

    // Groups / Mandanten
    'groups'                => 'Gruppen',
    'group'                 => 'Gruppe',
    'new_group'             => 'Neue Gruppe',
    'group_name'            => 'Gruppenname',
    'group_description'     => 'Beschreibung',
    'group_admin'           => 'Gruppenadmin',
    'group_member'          => 'Mitglied',
    'no_group'              => 'Keine Gruppe',
    'group_created'         => 'Gruppe erstellt',
    'group_updated'         => 'Gruppe aktualisiert',
    'group_deleted'         => 'Gruppe gelöscht',
    'group_management'      => 'Gruppenadministration',
    'group_members'         => 'Gruppenadministration',
    'group_role'            => 'Gruppenrolle',
    'assign_group'          => 'Gruppe zuweisen',
    'unassigned'            => 'Nicht zugewiesen',
    'no_groups'             => 'Keine Gruppen vorhanden',
    'no_group_members'      => 'Keine Mitglieder in dieser Gruppe',
    'language'          => 'Sprache',
    'theme'             => 'Design',
    'theme_light'       => 'Standard',
    'theme_dark'        => 'Dunkel',
    'theme_sepia'       => 'Sepia',
    'theme_midnight'    => 'Mitternacht',
    'theme_ocean'       => 'Ozean',
    'theme_matrix'      => 'Matrix',
    'theme_bluescreen'  => 'Bluescreen',
    'theme_forest'      => 'Wald',
    'theme_crimson'     => 'Karmesin',
    'theme_slate'       => 'Schiefer',

    // SMTP
    'smtp_settings'     => 'SMTP-Einstellungen',
    'smtp_host'         => 'SMTP Server',
    'smtp_port'         => 'Port',
    'smtp_username'     => 'Benutzername',
    'smtp_password'     => 'Passwort',
    'smtp_encryption'   => 'Verschlüsselung',
    'smtp_from_email'   => 'Absender E-Mail',
    'smtp_from_name'    => 'Absender Name',
    'smtp_test'         => 'Verbindung testen',
    'smtp_test_ok'      => 'SMTP Verbindung erfolgreich',
    'smtp_test_fail'    => 'SMTP Verbindung fehlgeschlagen',
    'smtp_none'         => 'Keine',
    'smtp_ssl'          => 'SSL (Port 465)',
    'smtp_tls'          => 'TLS/STARTTLS (Port 587)',
    'notifications_enabled' => 'Benachrichtigungen aktiv (E-Mail + In-App)',
    'notifications_enabled_hint' => 'Aktiv: In-App-Benachrichtigungen werden erstellt. Ist unten zusätzlich ein Mail-Provider eingerichtet, gehen dieselben Benachrichtigungen auch per E-Mail raus. Inaktiv: es werden weder In-App-Benachrichtigungen noch E-Mails erzeugt, unabhängig von der Mail-Konfiguration.',
    'app_settings'      => 'App-Einstellungen',
    'app_name_label'    => 'App-Name',
    'app_url'           => 'Server-URL',
    'app_url_hint'      => 'Basis-URL dieser Installation, z. B. https://example.com – wird in E-Mail-Links verwendet.',
    'privacy_url'       => 'Datenschutzerklärung (URL)',
    'imprint_url'       => 'Impressum (URL)',
    'privacy_policy'    => 'Datenschutz',
    'imprint'           => 'Impressum',
    'allow_registration'              => 'Registrierung erlauben',
    'registration_domains'            => 'Erlaubte E-Mail-Domains',
    'registration_domains_placeholder'=> 'beispiel.de, meinefirma.com',
    'registration_domains_hint'       => 'Eine Domain pro Zeile oder kommagetrennt. Leer lassen, um alle Domains zu erlauben.',

    // Register
    'register_title'          => 'Konto erstellen',
    'register_subtitle'       => 'Registrieren Sie sich für ein neues Konto',
    'register_btn'            => 'Konto erstellen',
    'register_link'           => 'Neues Konto erstellen',
    'register_success'        => 'Konto erstellt. Bitte melden Sie sich an.',
    'register_username_short' => 'Name mind. 3 Zeichen',
    'register_email_invalid'  => 'Ungültige E-Mail-Adresse',
    'register_password_short' => 'Passwort mind. 8 Zeichen',
    'register_duplicate'      => 'E-Mail-Adresse bereits vergeben',
    'register_domain_not_allowed' => 'Registrierung für diese E-Mail-Domain ist nicht erlaubt',

    // Email verification
    'verify_email_subject'  => 'E-Mail-Adresse bestätigen',
    'verify_email_body'     => 'Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf den folgenden Link klicken:',
    'verify_email_expires'  => 'Der Link ist 24 Stunden gültig.',
    'verify_email_sent'     => 'Konto erstellt. Bitte bestätigen Sie Ihre E-Mail-Adresse – wir haben Ihnen einen Verifizierungslink zugesendet.',
    'verify_email_required' => 'Bitte bestätigen Sie zuerst Ihre E-Mail-Adresse. Prüfen Sie Ihr Postfach.',
    'verify_token_invalid'  => 'Ungültiger oder abgelaufener Bestätigungslink.',
    'verify_email_success'  => 'E-Mail-Adresse bestätigt. Sie können sich jetzt anmelden.',

    // Profile
    'my_profile'        => 'Mein Profil',
    'change_password'   => 'Passwort ändern',
    'current_password'  => 'Aktuelles Passwort',
    'new_password'      => 'Neues Passwort',
    'profile_updated'   => 'Profil aktualisiert',
    'delete_account'         => 'Konto löschen',
    'delete_account_hint'    => 'Diese Aktion ist unwiderruflich. Dein Konto und alle persönlichen Daten werden dauerhaft gelöscht.',
    'delete_account_confirm' => 'Konto wirklich unwiderruflich löschen?',
    'account_deleted'        => 'Konto wurde gelöscht.',
    'password_changed'  => 'Passwort geändert',
    'password_wrong'    => 'Aktuelles Passwort falsch',
    'password_mismatch' => 'Passwörter stimmen nicht überein',

    // Notifications
    'mark_all_read'     => 'Alle gelesen',
    'no_notifications'  => 'Keine Benachrichtigungen',

    // TOTP / 2FA
    'totp_settings'       => 'Zwei-Faktor-Authentifizierung',
    'totp_setup'          => '2FA einrichten',
    'totp_setup_desc'     => 'Schützen Sie Ihr Konto mit einem Einmal-Passwort (TOTP). Sie benötigen eine Authenticator-App (z.B. Google Authenticator, Aegis oder Bitwarden).',
    'totp_active'         => 'Aktiv',
    'totp_inactive'       => 'Inaktiv',
    'totp_active_desc'    => 'Die Authenticator-App ist als zweiter Faktor aktiv. Zum Deaktivieren geben Sie einen aktuellen Code ein. Sie können zusätzlich auch die E-Mail-Bestätigung als zweiten Faktor aktivieren.',
    'totp_scan_desc'      => 'Scannen Sie den QR-Code mit Ihrer Authenticator-App und geben Sie dann den angezeigten Code zur Bestätigung ein.',
    'totp_manual_key'     => 'Manueller Schlüssel',
    'totp_copy'           => 'Kopieren',
    'totp_confirm_code'   => 'Code zur Bestätigung',
    'totp_confirm_hint'   => 'Geben Sie den 6-stelligen Code aus Ihrer Authenticator-App ein.',
    'totp_enable'         => '2FA aktivieren',
    'totp_enabled_ok'     => 'Zwei-Faktor-Authentifizierung aktiviert',
    'totp_disable'        => '2FA deaktivieren',
    'totp_disable_hint'   => 'Aktuellen Code aus Ihrer Authenticator-App eingeben.',
    'current_password_label' => 'Aktuelles Passwort',
    'totp_disabled_ok'    => 'Zwei-Faktor-Authentifizierung deaktiviert',
    'totp_invalid'        => 'Ungültiger Code. Bitte versuchen Sie es erneut.',
    'totp_setup_step_up_title'    => 'E-Mail-Bestätigung erforderlich',
    'totp_setup_step_up_desc'     => 'Zum Schutz vor missbräuchlicher Einrichtung senden wir Ihnen einen 6-stelligen Code an :email. Bestätigen Sie den Code, bevor Sie eine Authenticator-App hinzufügen.',
    'totp_setup_step_up_send_btn' => 'Code per E-Mail senden',
    'totp_setup_step_up_sent'     => 'Ein Bestätigungscode wurde an Ihre E-Mail-Adresse gesendet.',
    'totp_setup_step_up_code_label' => 'Bestätigungscode',
    'totp_setup_step_up_verify_btn' => 'Code bestätigen',
    'totp_setup_step_up_resend'   => 'Neuen Code senden',
    'totp_setup_step_up_invalid'  => 'Ungültiger Bestätigungscode.',
    'totp_setup_step_up_expired'  => 'Der Bestätigungscode ist abgelaufen. Bitte fordern Sie einen neuen an.',
    'totp_setup_step_up_required' => 'Bitte bestätigen Sie zuerst Ihren E-Mail-Bestätigungscode, bevor Sie 2FA einrichten.',
    'totp_setup_step_up_ok'       => 'E-Mail-Adresse bestätigt. Sie können jetzt 2FA einrichten.',
    'totp_verify_title'   => 'Zwei-Faktor-Authentifizierung',
    'totp_verify_subtitle'=> 'Geben Sie den Code aus Ihrer Authenticator-App ein.',
    'totp_verify_btn'     => 'Bestätigen',
    'totp_code'           => 'Authenticator-Code',
    'totp_enforce'        => 'TOTP global erzwingen',
    'totp_enforce_hint'   => 'Alle Nutzer ohne aktives TOTP werden beim nächsten Login zur Einrichtung gezwungen.',
    'mfa_enforce'         => 'MFA erzwingen',
    'mfa_enforce_hint'    => 'Alle Nutzer müssen sich mit TOTP-App oder E-Mail-Code zusätzlich authentifizieren.',
    'email_mfa_title'        => 'E-Mail-Bestätigung',
    'email_mfa_desc'         => 'Ein 6-stelliger Code wurde an Ihre E-Mail-Adresse gesendet. Bitte geben Sie ihn ein.',
    'email_mfa_code_label'   => 'Bestätigungscode',
    'email_mfa_submit'       => 'Code bestätigen',
    'email_mfa_invalid'      => 'Ungültiger oder abgelaufener Code.',
    'email_mfa_resend'       => 'Neuen Code senden',
    'email_mfa_resent'       => 'Ein neuer Code wurde an Ihre E-Mail-Adresse gesendet.',
    'mfa_resend_too_fast'    => 'Bitte warten Sie einen Moment, bevor Sie einen neuen Code anfordern.',
    'mfa_attempts_exceeded'  => 'Zu viele fehlgeschlagene Versuche. Bitte melden Sie sich erneut an.',
    'email_mfa_settings'     => 'E-Mail-Zwei-Faktor',
    'email_mfa_active'       => 'Aktiv',
    'email_mfa_inactive'     => 'Inaktiv',
    'email_mfa_enable_btn'   => 'E-Mail-2FA aktivieren',
    'email_mfa_disable_btn'  => 'E-Mail-2FA deaktivieren',
    'email_mfa_enable_desc'  => 'Bei jeder Anmeldung wird ein Code an Ihre E-Mail-Adresse gesendet.',
    'email_mfa_disable_desc' => 'E-Mail-Zwei-Faktor-Authentifizierung ist aktiv. Klicken Sie auf "Deaktivieren", um sie abzuschalten.',
    'email_mfa_enabled_ok'   => 'E-Mail-2FA wurde aktiviert.',
    'email_mfa_disabled_ok'  => 'E-Mail-2FA wurde deaktiviert.',
    'email_mfa_mail_subject' => 'Ihr Anmeldecode',
    'email_mfa_mail_greeting'=> 'Hallo,',
    'email_mfa_mail_body'    => 'Ihr Anmeldecode lautet:',
    'email_mfa_mail_expiry'  => 'Der Code ist 20 Minuten gültig.',
    'email_mfa_mail_warning' => 'Geben Sie diesen Code nicht weiter.',
    'mfa_setup_title'        => 'Sicherheitsprüfung erforderlich',
    'mfa_setup_desc'         => 'Ihr Administrator verlangt eine Zwei-Faktor-Authentifizierung. Bitte wählen Sie eine Methode.',
    'mfa_setup_email_title'  => 'E-Mail-Code',
    'mfa_setup_email_desc'   => 'Code wird bei jeder Anmeldung an Ihre E-Mail-Adresse gesendet.',
    'mfa_setup_totp_title'   => 'Authenticator-App',
    'mfa_setup_totp_desc'    => 'Nutzen Sie eine TOTP-App wie Google Authenticator oder Authy.',
    'mfa_setup_back_choice'  => 'Methode wechseln',
    'mfa_choice_title'       => 'Anmeldung bestätigen',
    'mfa_choice_desc'        => 'Sie haben zwei Methoden aktiviert. Wie möchten Sie sich bestätigen?',
    'mfa_choice_totp_title'  => 'Authenticator-App',
    'mfa_choice_totp_desc'   => 'Code aus Ihrer TOTP-App eingeben.',
    'mfa_choice_email_title' => 'E-Mail-Code',
    'mfa_choice_email_desc'  => 'Code per E-Mail erhalten.',
    'ext_mfa_title'          => 'Identität bestätigen',
    'ext_mfa_desc'           => 'Da Sie länger inaktiv waren, senden wir Ihnen einen 6-stelligen Code an Ihre E-Mail-Adresse. Bitte geben Sie ihn ein.',
    'ext_mfa_mail_greeting'  => 'Hallo',
    'ext_mfa_mail_body'      => 'Ihr Zugangscode für die externe Aufgabenansicht lautet:',
    'ext_mfa_mail_subject'   => 'Ihr Zugangscode',
    'ext_mfa_resent'         => 'Ein neuer Code wurde an Ihre E-Mail-Adresse gesendet.',
    'password_reset_enabled'      => 'Passwort-Zurücksetzen erlauben',
    'password_reset_enabled_hint' => 'Zeigt einen "Passwort vergessen?"-Link auf der Loginseite. Erfordert konfigurierten Mail-Versand.',
    'password_reset_requires_mail' => '(Kein Mail-Versand konfiguriert – Option deaktiviert.)',
    'forgot_password'             => 'Passwort vergessen?',
    'forgot_password_title'       => 'Passwort zurücksetzen',
    'forgot_password_subtitle'    => 'Geben Sie Ihre E-Mail-Adresse ein. Sie erhalten einen Link zum Zurücksetzen.',
    'forgot_password_btn'         => 'Link senden',
    'forgot_password_sent'        => 'Falls ein Konto mit dieser E-Mail existiert, wurde ein Link gesendet.',
    'reset_password_title'        => 'Neues Passwort',
    'reset_password_subtitle'     => 'Geben Sie Ihr neues Passwort ein.',
    'reset_password_btn'          => 'Passwort speichern',
    'reset_password_success'      => 'Passwort erfolgreich geändert. Bitte melden Sie sich an.',
    'reset_token_invalid'         => 'Der Link ist ungültig oder abgelaufen.',
    'back_to_login'               => 'Zurück zum Login',
    'totp_enforce_wizard_title'    => 'Sicherheit einrichten',
    'totp_enforce_wizard_subtitle' => 'Ihr Administrator schreibt die Zwei-Faktor-Authentifizierung vor. Bitte richten Sie TOTP jetzt ein, um fortzufahren.',
    'totp_enforce_note'   => 'Diese Einrichtung ist verpflichtend. Sie können sich erst nach der Aktivierung anmelden.',

    // Project notifications
    'project_notifications'        => 'E-Mail-Benachrichtigungen',
    'project_notifications_hint'   => 'Legt fest, wer bei welchen Ereignissen eine E-Mail erhält. Erfordert konfiguriertes SMTP.',
    'notif_assignee_section'       => 'Benachrichtigungen an zugewiesene Personen',
    'notif_assignee_on_assign'     => 'Bei Zuweisung einer Aufgabe',
    'notif_assignee_on_comment'    => 'Wenn ein Kommentar gepostet wird',
    'notif_assignee_on_change'     => 'Wenn Deadline, Priorität oder Beschreibung geändert wird',
    'notif_assignee_reminder'      => 'Erinnerung 3 Tage vor Ablauf der Aufgabe',
    'notif_assignee_on_due_day'    => 'Erinnerung am Fälligkeitstag',
    'notif_assignee_on_unassign'   => 'Wenn man von einer Aufgabe entfernt wird',
    'notif_assignee_on_attachment' => 'Wenn ein neuer Anhang hochgeladen wird',
    'notif_assignee_predecessors'  => 'Wenn alle Vorgängeraufgaben abgeschlossen sind',
    'notif_manager_section'        => 'Benachrichtigungen an Projektleiter',
    'notif_manager_any_activity'   => 'Bei jeglicher Aktivität im Projekt',
    'notif_manager_assignees_changed' => 'Wenn Zuweisungen einer Aufgabe geändert werden',
    'activity_assignees_changed'   => 'Zuweisungen geändert',
    'notif_manager_task_done'      => 'Wenn eine Aufgabe abgeschlossen wird',
    'notif_manager_task_overdue'   => 'Wenn eine Aufgabe überfällig ist (+1 Tag)',
    'notif_manager_task_created'   => 'Wenn eine neue Aufgabe erstellt wird',

    // External participants
    'dummy_assignees'            => 'Platzhalter (keine Benachrichtigung)',
    'external_participants'      => 'Externe Teilnehmer',
    'external_participants_hint' => 'Externe Personen erhalten E-Mail-Benachrichtigungen und können ihre Aufgaben über einen persönlichen Link einsehen und aktualisieren.',
    'ext_name_placeholder'       => 'Name',
    'ext_email_placeholder'      => 'E-Mail-Adresse',
    'ext_portal_link'            => 'Portal-Link',

    // AI
    'ai_settings'           => 'KI-Integration',
    'ai_enabled'            => 'KI global aktivieren',
    'ai_enabled_hint'       => 'Aktiviert den KI-Assistenten für alle Projekte.',
    'ai_provider'           => 'Anbieter',
    'ai_ollama_url'         => 'Ollama-URL',
    'ai_ollama_model'       => 'Modell',
    'ai_claude_key'         => 'API-Schlüssel',
    'ai_claude_key_hint'    => 'Der Schlüssel wird verschlüsselt gespeichert. Leer lassen, um ihn nicht zu ändern.',
    'ai_claude_model'       => 'Modell',
    'ai_assistant'          => 'KI-Assistent',
    'ai_clear_history'      => 'Verlauf löschen',
    'ai_empty_hint'         => 'Stell mir eine Frage oder lass mich Aufgaben für dieses Projekt generieren.',
    'ai_examples'           => 'Beispiele:',
    'ai_example_1'          => 'Generiere alle nötigen Aufgaben für die Umsetzung dieses Projektes',
    'ai_example_2'          => 'Lege mir folgende Aufgaben auf Basis dieser Aufgabenliste an:',
    'ai_example_3'          => 'Generiere Aufgaben für dieses Projekt auf Basis dieses Transkriptes:',
    'ai_example_4'          => 'Stelle mir nacheinander Fragen zu diesem Projekt, um mir die passenden Aufgaben zu liefern',
    'ai_input_placeholder'  => 'Nachricht eingeben … (Enter zum Senden, Shift+Enter für neue Zeile)',
    'ai_generated_tasks'    => 'Generierte Aufgaben',
    'ai_create_tasks'       => 'Aufgaben erstellen',

    // Activity
    'activity_task_created'  => 'Aufgabe erstellt',
    'activity_task_updated'  => 'Aufgabe aktualisiert',
    'activity_task_deleted'  => 'Aufgabe gelöscht',
    'activity_comment'       => 'Kommentar hinzugefügt',
    'activity_status_changed'=> 'Status geändert',
    'activity_member_added'  => 'Mitglied hinzugefügt',

    // Invitations
    'invite'                  => 'Einladen',
    'invite_title'            => 'Einladung annehmen',
    'invite_subtitle_pre'     => 'Sie wurden eingeladen, der Gruppe beizutreten:',
    'invite_accept_btn'       => 'Einladung annehmen',
    'invite_sent'             => 'Einladung wurde per E-Mail versendet.',
    'invite_link_fallback'    => 'SMTP nicht konfiguriert – Einladungslink (bitte manuell senden):',
    'invite_email_subject'    => 'Sie wurden eingeladen',
    'invite_email_body_intro' => 'hat Sie eingeladen, der Gruppe beizutreten:',
    'invite_email_expiry'     => 'Dieser Einladungslink ist 7 Tage gültig.',
    'invite_email_footer'     => 'Falls der Button nicht funktioniert, kopieren Sie diesen Link:',
    'invite_email_exists'     => 'Diese E-Mail-Adresse ist bereits registriert.',
    'invite_already_member'   => 'Du bist bereits Mitglied dieser Gruppe.',
    'invite_joined'           => 'Du bist der Gruppe erfolgreich beigetreten.',
    'invite_registered'       => 'Konto erstellt. Bitte melden Sie sich an.',
    'invite_invalid_title'    => 'Einladung ungültig',
    'invite_invalid_body'     => 'Dieser Einladungslink ist abgelaufen oder wurde bereits verwendet.',
    'invite_pending'          => 'Ausstehende Einladungen',
    'invite_revoke'           => 'Widerrufen',
    'invite_expires'          => 'Läuft ab',
    'username_min'            => 'Name mind. 3 Zeichen',
    'password_min'            => 'Passwort mind. 8 Zeichen',
    'email_taken'             => 'E-Mail-Adresse bereits vergeben',
    'invalid_email'           => 'Ungültige E-Mail-Adresse',
    'admin_cannot_self_delete' => 'Admin-Konten können nicht über das Profil gelöscht werden. Bitte einen anderen Admin um die Löschung bitten.',

    // Email change with verification (security-audit #2)
    'email_change_pending'           => 'E-Mail-Wechsel angefordert. Wir haben einen Bestätigungslink an die neue Adresse geschickt. Der Wechsel wird erst nach Klick auf den Link wirksam.',
    'email_change_pending_hint'      => 'Wechsel zu :email wartet auf Bestätigung.',
    'email_change_token_invalid'     => 'Bestätigungs-Link ungültig oder abgelaufen.',
    'email_change_success'           => 'E-Mail-Adresse erfolgreich geändert.',
    'mail_email_change_verify_subject'  => 'E-Mail-Adresse bestätigen',
    'mail_email_change_verify_greeting' => 'Hallo :name,',
    'mail_email_change_verify_body'     => 'für Ihr Plenvo-Konto wurde der Wechsel der E-Mail-Adresse zu dieser Adresse beantragt. Klicken Sie auf den Button, um den Wechsel zu bestätigen:',
    'mail_email_change_verify_button'   => 'E-Mail-Adresse bestätigen',
    'mail_email_change_verify_expires'  => 'Der Link ist 24 Stunden gültig. Wenn Sie diese Änderung nicht angefordert haben, können Sie diese Mail ignorieren. Der Wechsel wird ohne Bestätigung nicht wirksam.',
    'mail_email_change_notice_subject'  => 'E-Mail-Wechsel angefordert',
    'mail_email_change_notice_greeting' => 'Hallo :name,',
    'mail_email_change_notice_body'     => 'für Ihr Konto wurde gerade ein Wechsel der E-Mail-Adresse zu :email angefordert.',
    'mail_email_change_notice_warning'  => 'Wenn Sie das nicht waren, ändern Sie sofort Ihr Passwort und kontaktieren Sie den Administrator. Die Änderung wird erst nach Bestätigung über die neue Adresse wirksam.',

    // Password change session invalidation + notify (security-audit #14)
    'session_invalidated_password_changed' => 'Sitzung beendet, da das Passwort geändert wurde. Bitte erneut anmelden.',
    'mail_pw_changed_subject'   => 'Passwort geändert',
    'mail_pw_changed_greeting'  => 'Hallo :name,',
    'mail_pw_changed_body'      => 'das Passwort für Ihr Konto wurde gerade geändert. Alle anderen aktiven Sitzungen wurden zur Sicherheit beendet.',
    'mail_pw_changed_warning'   => 'Falls Sie den Wechsel nicht selbst vorgenommen haben, setzen Sie umgehend ein neues Passwort und kontaktieren Sie den Administrator.',

    // Trust X-Forwarded-For toggle (security-audit #1 + #4)
    'sec_trustproxy_title'  => 'Reverse-Proxy-Header',
    'sec_trustproxy_desc'   => 'Nur aktivieren, wenn Plenvo hinter einem vertrauenswürdigen Reverse Proxy (nginx, Traefik, …) läuft, der „X-Forwarded-For" zuverlässig setzt. Andernfalls können Clients ihre IP fälschen und so Rate-Limits umgehen oder Security-Log-Einträge verfälschen.',
    'sec_trustproxy_enable' => 'X-Forwarded-For vom Reverse Proxy vertrauen',

    // Landing page
    'landing_meta_title'          => 'Projektmanagement mit Kanban, Gantt und KI',
    'landing_meta_desc'           => 'Plenvo ist eine schlanke Projektmanagement-Software mit Kanban-Board, Gantt-Diagramm, Aufgabenverwaltung und KI-Assistent. Cloud oder Self-Hosted, DSGVO-konform aus Deutschland.',
    'landing_meta_keywords'       => 'Projektmanagement, Projektmanagement-Software, Kanban-Board, Gantt-Diagramm, Aufgabenverwaltung, Teamkoordination, KI-Projektplanung, Self-Hosted, DSGVO, Open Source',
    'landing_meta_og_title'       => 'Plenvo – Projektmanagement für Teams',
    'landing_meta_og_alt'         => 'Plenvo Dashboard mit Kanban-Board und Gantt-Diagramm',
    'landing_software_desc'       => 'Webbasierte Projektmanagement-Software mit Kanban, Gantt, Aufgabenlisten, KI-Assistent, externer Freigabe und Self-Hosting-Option.',
    'landing_breadcrumb_home'     => 'Startseite',
    'landing_breadcrumb_downloads' => 'Downloads',
    'landing_preview_eyebrow'     => 'Produkt-Vorschau',
    'landing_preview_title'       => 'Ihr Projekt – aus jeder Perspektive',
    'landing_preview_sub'         => '',
    'landing_preview_tab_gantt'   => 'Gantt-Diagramm',
    'landing_preview_tab_dashboard' => 'Dashboard',
    'landing_preview_tab_kanban'  => 'Kanban-Board',
    'landing_preview_tab_ai'       => 'KI-Assistent',
    'landing_preview_tab_mytasks'  => 'Meine Aufgaben',
    'landing_preview_tab_external' => 'Externe Ansicht',
    'landing_badge'               => 'Projektmanagement für Ihr Team',
    'landing_hero_title_1'        => 'Projekte im Griff.',
    'landing_hero_title_2'        => 'Teams auf Kurs.',
    'landing_hero_sub'            => 'Plenvo gibt Projektleitern den Überblick, den sie brauchen. Von der ersten Aufgabe bis zum abgeschlossenen Projekt. Klar, strukturiert, ohne Chaos.',
    'landing_discover'            => 'Funktionen entdecken',
    'landing_pill_made_in_germany' => 'Made in Germany',
    'landing_pill_gdpr'            => 'Auf DSGVO ausgelegt',
    'landing_pill_opensource'      => 'Open Source',
    'landing_pill_selfhost_saas'   => 'Self-host oder SaaS',
    'landing_diff_2_title'         => 'Alle Funktionen für alle',
    'landing_diff_2_desc'          => 'Keine Pro- oder Enterprise-Stufen. Egal wie groß Ihr Team ist.',
    'landing_diff_3_title'         => 'KI-Assistent inklusive',
    'landing_diff_3_desc'          => 'Aufgaben per Chat planen. Lokal mit Ollama oder via Cloud-Anbieter.',
    'landing_pain_eyebrow'        => 'Kennen Sie das?',
    'landing_pain_title'          => 'Projektmanagement ohne das richtige Werkzeug kostet Zeit',
    'landing_pain_sub'            => 'Viele Teams kämpfen täglich mit denselben Problemen. Plenvo löst sie.',
    'landing_combined_eyebrow'    => 'Kennen Sie das?',
    'landing_combined_title'      => 'Für jedes Problem die passende Lösung',
    'landing_combined_sub'        => 'So macht Plenvo aus Ihren täglichen Herausforderungen messbare Vorteile.',
    'landing_combined_badge'      => 'Herausforderung',
    'landing_combined_extras'     => 'Außerdem inklusive:',

    // ── Pro features section ─────────────────────────────────────────
    'landing_pro_eyebrow'             => 'Profi-Funktionen',
    'landing_pro_title'               => 'Werkzeuge, die nach einer Woche unverzichtbar werden',
    'landing_pro_sub'                 => 'Die kleinen Funktionen, die in keiner Demo headlinen – und die Sie täglich nutzen werden.',
    'landing_pro_cat_speed'           => 'Tempo',
    'landing_pro_cat_speed_sub'       => 'Weniger Klicks. Mehr erledigt.',
    'landing_pro_cat_clarity'         => 'Klarheit',
    'landing_pro_cat_clarity_sub'     => 'Den Überblick behalten, ohne nachzufragen.',
    'landing_pro_cat_tools'           => 'Werkzeuge',
    'landing_pro_cat_tools_sub'       => 'Profi-Funktionen, die mitdenken.',
    'landing_pro_cmdk_title'          => 'Befehlspalette',
    'landing_pro_cmdk_desc'           => 'In unter einer Sekunde zu jeder Aufgabe, jedem Projekt, jeder Person. Ohne Klicks durch Menüs.',
    'landing_pro_bulk_title'          => 'Massenbearbeitung',
    'landing_pro_bulk_desc'           => 'Zwanzig Aufgaben gleichzeitig: Status, Priorität, Zuweisung, Fälligkeit, Labels. Ein Klick statt zwanzig.',
    'landing_pro_inline_title'        => 'Inline-Bearbeitung',
    'landing_pro_inline_desc'         => 'Status, Zuweisungen und Fälligkeit direkt in der Tabelle ändern. Kein Modal, kein Umweg.',
    'landing_pro_managermail_title'   => 'Manager-Benachrichtigungen',
    'landing_pro_managermail_desc'    => 'Sie erhalten nur, was zählt: neue Aufgaben, Zuweisungswechsel, abgeschlossene Vorgänger. Sie wählen die Auslöser.',
    'landing_pro_activity_title'      => 'Lückenloser Verlauf',
    'landing_pro_activity_desc'       => 'Das Aktivitätslog protokolliert jede Änderung. Wer hat was wann? Nie wieder rückfragen.',
    'landing_pro_multiowner_title'    => 'Mehrere Verantwortliche',
    'landing_pro_multiowner_desc'     => 'Mehrere Owner und Manager pro Projekt. Vertretung ist im Werkzeug eingebaut, nicht im Kalender.',
    'landing_pro_autodeps_title'      => 'Gantt-Auto-Verknüpfung',
    'landing_pro_autodeps_desc'       => 'Plenvo erkennt Abhängigkeiten automatisch aus dem Zeitplan, inklusive paralleler Tracks sowie Fan-In und Fan-Out.',
    'landing_pro_dragdrop_title'      => 'Drag and Drop überall',
    'landing_pro_dragdrop_desc'       => 'Im Gantt Balken verschieben, im Kanban Karten ziehen. Daten und Status aktualisieren sich sofort.',
    'landing_pro_aichoice_title'      => 'KI Ihrer Wahl',
    'landing_pro_aichoice_desc'       => 'Anthropic Claude, OpenAI, Azure oder lokales Ollama. Kein Vendor-Lock-In bei der Intelligenz.',
    'landing_pro_extras_title'        => 'Außerdem an Bord',
    'landing_pro_extra_mentions'      => '@-Mentions in Kommentaren',
    'landing_pro_extra_attach'        => 'Datei-Anhänge',
    'landing_pro_extra_custom_status' => 'Eigene Status pro Projekt',
    'landing_pro_extra_labels'        => 'Labels',
    'landing_pro_extra_required'      => 'Pflichtfelder pro Projekt',
    'landing_pro_extra_polls'         => 'Terminfindung',
    'landing_pro_extra_languages'     => '11 UI-Sprachen',
    'landing_pro_extra_themes'        => '10 Themes',
    'landing_pro_extra_fido'          => 'WebAuthn / FIDO2',
    'landing_pro_extra_mfa'           => 'TOTP + E-Mail-MFA',
    'landing_pro_extra_archive'       => 'Archivieren & Wiederherstellen',
    'landing_pro_extra_deps'          => 'Aufgaben-Abhängigkeiten',

    // ── Scheduling polls highlight ───────────────────────────────────
    'landing_poll_bonus'         => 'Bonus',
    'landing_poll_title'         => 'Termine finden? Plenvo plant auch die mit.',
    'landing_poll_sub'           => 'Eine vollwertige Terminfindung ist eingebaut. Gleiche Sprache, gleiches DSGVO-Setup, gleiche Oberfläche – kein zweites Tool nötig.',
    'landing_poll_feat_link'     => 'Öffentlicher Link – Teilnahme ohne Konto.',
    'landing_poll_feat_live'     => 'Live-Ergebnisse, der Siegertermin wird automatisch hervorgehoben.',
    'landing_poll_feat_invite'   => 'Per E-Mail einladen, intern wie extern.',
    'landing_poll_feat_finalize' => 'Ein Klick zur Finalisierung, Mail an alle Teilnehmer.',
    'landing_poll_mock_title'    => 'Q1-Kickoff 2026',
    'landing_poll_mock_meta'     => '4 Teilnehmer · bis 12.04.',
    'landing_poll_mock_count'    => '3 von 4 geantwortet',
    'landing_poll_mock_cta'      => 'Termin fixieren',
    'landing_pain1_title'         => 'Kein Überblick über den Projektstatus',
    'landing_pain1_desc'          => 'Wer arbeitet gerade woran? Was ist noch offen? Was ist überfällig?',
    'landing_pain1_solution'      => 'Das Plenvo-Dashboard zeigt offene Aufgaben, überfällige Punkte und Teamaktivitäten. Alles auf einen Blick, in Echtzeit.',
    'landing_pain2_title'         => 'Termine werden gerissen',
    'landing_pain2_desc'          => 'Abhängigkeiten zwischen Aufgaben werden übersehen, Fristen verpasst.',
    'landing_pain2_solution'      => 'Der Gantt-Zeitstrahl macht Abhängigkeiten sichtbar. Sie erkennen Engpässe, bevor sie zum Problem werden.',
    'landing_pain3_title'         => 'Teamkommunikation läuft über E-Mail',
    'landing_pain3_desc'          => 'Statusupdates gehen unter, Zuständigkeiten sind unklar.',
    'landing_pain3_solution'      => 'Jede Aufgabe hat klare Verantwortliche, Kommentare und Status. Alles an einem Ort, keine E-Mail-Ketten.',
    'landing_pain4_title'         => 'Externe Partner schwer einzubinden',
    'landing_pain4_desc'          => 'Dienstleister und Kunden brauchen eigene Tools oder Zugänge.',
    'landing_pain4_solution'      => 'Externe erhalten einen persönlichen Link zu ihren Aufgaben. Kein Account nötig, kein Einrichtungsaufwand.',
    'landing_pain5_title'         => 'Unklare Auslastung im Team',
    'landing_pain5_desc'          => 'Aufgaben werden doppelt vergeben oder Mitarbeiter sind unbemerkt überlastet.',
    'landing_pain5_solution'      => 'Weisen Sie Aufgaben gezielt zu und behalten Sie stets den Überblick, wer was übernommen hat.',
    'landing_pain6_title'         => 'Statusmeetings kosten wertvolle Zeit',
    'landing_pain6_desc'          => 'Jede Woche dieselben Fragen: was ist der Status, was fehlt noch?',
    'landing_pain6_solution'      => 'Mit Plenvo hat jeder den aktuellen Status jederzeit im Blick. Weniger Meetings, mehr Ergebnisse.',
    'landing_features_eyebrow'    => 'Ihr Mehrwert',
    'landing_features_title'      => 'Alles, was Projektleiter brauchen',
    'landing_features_sub'        => 'Plenvo wurde für Menschen entwickelt, die Verantwortung tragen. Nicht für IT-Administratoren.',
    'landing_feat_overview'       => 'Vollständiger Überblick',
    'landing_feat_overview_desc'  => 'Das Dashboard zeigt auf einen Blick: offene Aufgaben, heutige Fälligkeiten, überfällige Punkte und die Aktivitäten Ihres Teams. Ohne langes Suchen.',
    'landing_feat_timeline'       => 'Zeitplanung mit Gantt',
    'landing_feat_timeline_desc'  => 'Verschieben Sie Aufgaben per Drag-and-Drop direkt im Zeitstrahl. Erkennen Sie sofort, wenn ein Termin in Gefahr ist, und reagieren Sie bevor es zu spät ist.',
    'landing_feat_team'           => 'Klare Zuständigkeiten',
    'landing_feat_team_desc'      => 'Jede Aufgabe hat einen oder mehrere Verantwortliche. Rollen im Projekt (Inhaber, Leiter, Mitglied) sorgen dafür, dass jeder genau weiß, was von ihm erwartet wird.',
    'landing_feat_priority'       => 'Prioritäten & Deadlines',
    'landing_feat_priority_desc'  => 'Vier Prioritätsstufen, Fälligkeitsdaten und Erinnerungen per E-Mail stellen sicher, dass das Wichtigste zuerst erledigt wird.',
    'landing_feat_deps'           => 'Aufgaben-Abhängigkeiten',
    'landing_feat_deps_desc'      => 'Legen Sie fest, welche Aufgaben erst dann starten können, wenn andere abgeschlossen sind. Ihr Team wird automatisch benachrichtigt, sobald die Vorarbeit erledigt ist.',
    'landing_feat_external'       => 'Externe Partner einbinden',
    'landing_feat_external_desc'  => 'Dienstleister und Kunden erhalten einen persönlichen Link zu ihren Aufgaben. Kein Account nötig, sie können Status aktualisieren und kommentieren.',
    'landing_feat_notif'          => 'Automatische Updates',
    'landing_feat_notif_desc'     => 'Ihr Team wird per E-Mail informiert: bei neuen Zuweisungen, nahenden Deadlines und abgeschlossenen Vorgängeraufgaben. Kein manuelles Nachfragen mehr.',
    'landing_feat_ai'             => 'KI-gestützte Planung',
    'landing_feat_ai_desc'        => 'Lassen Sie sich von der integrierten KI einen vollständigen Aufgabenplan vorschlagen und übernehmen Sie ihn mit einem Klick.',
    'landing_tag_dashboard'       => 'Dashboard',
    'landing_tag_gantt'           => 'Gantt-Diagramm',
    'landing_tag_team'            => 'Teamführung',
    'landing_tag_tasks'           => 'Aufgaben',
    'landing_tag_planning'        => 'Planung',
    'landing_tag_collab'          => 'Zusammenarbeit',
    'landing_tag_notif'           => 'Benachrichtigungen',
    'landing_tag_ai'              => 'KI-Assistent',
    'landing_views_eyebrow'       => 'Ansichten',
    'landing_views_title'         => 'Die richtige Ansicht für jede Situation',
    'landing_views_sub'           => 'Wechseln Sie jederzeit zwischen den Ansichten. Ihre Daten bleiben stets synchron.',
    'landing_view_kanban'         => 'Kanban-Board',
    'landing_view_kanban_desc'    => 'Aufgaben per Drag-and-Drop durch den Workflow ziehen',
    'landing_view_list'           => 'Listenansicht',
    'landing_view_list_desc'      => 'Filtern, sortieren und alle Aufgaben im Überblick',
    'landing_view_gantt'          => 'Gantt-Diagramm',
    'landing_view_gantt_desc'     => 'Zeitplan visualisieren und Abhängigkeiten erkennen',
    'landing_view_dashboard'      => 'Dashboard',
    'landing_view_dashboard_desc' => 'Projektstatus, offene Aufgaben und Team-Aktivität',
    'landing_how_eyebrow'         => 'In 4 Schritten',
    'landing_how_title'           => 'In Minuten startklar',
    'landing_how_sub'             => 'Keine Installation, keine komplexe Einrichtung. Einfach einloggen und loslegen.',
    'landing_step1_title'         => 'Einloggen',
    'landing_step1_desc'          => 'Mit Ihrem Konto anmelden oder eine Teameinladung annehmen.',
    'landing_step2_title'         => 'Projekt anlegen',
    'landing_step2_desc'          => 'Projekt benennen, Farbe wählen und bevorzugte Ansicht festlegen.',
    'landing_step3_title'         => 'Team zusammenstellen',
    'landing_step3_desc'          => 'Teammitglieder einladen und Rollen vergeben, intern wie extern.',
    'landing_step4_title'         => 'Aufgaben planen & verfolgen',
    'landing_step4_desc'          => 'Aufgaben anlegen, Prioritäten setzen, Fristen vergeben und den Fortschritt in Echtzeit verfolgen.',
    'landing_no_account'          => 'Noch kein Konto?',

    // Landing mock UI
    'landing_mock_status_open'        => 'Offen',
    'landing_mock_status_inprogress'  => 'In Bearbeitung',
    'landing_mock_status_review'      => 'Review',
    'landing_mock_status_done'        => 'Erledigt',
    'landing_mock_welcome'            => 'Willkommen zurück, Max',
    'landing_mock_date'               => '23. April 2026',
    'landing_mock_filter_open'        => 'Offene Aufgaben',
    'landing_mock_task_req'           => 'Anforderungsanalyse',
    'landing_mock_task_design'        => 'Design-Konzept',
    'landing_mock_task_frontend'      => 'Frontend-Entwicklung',
    'landing_mock_task_backend'       => 'Backend-API',
    'landing_mock_task_testing'       => 'Testing & QA',
    'landing_mock_task_content'       => 'Content-Migration',
    'landing_mock_task_golive'        => 'Go-Live',
    'landing_mock_task_pushnotif'     => 'Push-Notifications',
    'landing_mock_task_appstore'      => 'App Store Release',
    'landing_mock_card_server'        => 'Serverinfrastruktur planen',
    'landing_mock_card_seo'           => 'SEO-Analyse durchführen',
    'landing_mock_card_privacy'       => 'Datenschutz prüfen',
    'landing_mock_card_backenddev'    => 'Backend-API entwickeln',
    'landing_mock_card_designfinal'   => 'Design-Konzept finalisieren',
    'landing_mock_card_kickoff'       => 'Kick-off Meeting',
    'landing_mock_ai_user_msg'        => 'Generiere für das Projekt Website Relaunch 2026 alle nötigen Aufgaben – mit realistischen Start- und Enddaten sowie Vorgänger- und Nachfolger-Verknüpfungen.',
    'landing_mock_ai_intro'           => 'Natürlich! Hier sind',
    'landing_mock_ai_for'             => 'für',
    'landing_mock_ai_timeline'        => 'mit Zeitplan und allen Abhängigkeiten:',
    'landing_mock_ai_dep_after'       => '→ nach',
    'landing_mock_ai_confirm'         => 'Alle Abhängigkeiten sind verknüpft. Soll ich die Aufgaben direkt anlegen?',
    'landing_mock_ai_cta_text'        => '7 Aufgaben generiert &amp; verknüpft',
    'landing_mock_ai_create'          => 'Aufgaben anlegen',
    'landing_mock_ext_open'           => 'Aufgabe öffnen',
    'landing_mock_ext_task1_title'    => 'Content-Migration',
    'landing_mock_ext_task1_desc'     => 'Alle Inhalte aus dem Altsystem übernehmen, strukturieren und für den neuen Auftritt aufbereiten.',
    'landing_mock_ext_task2_title'    => 'Go-Live Vorbereitung',
    'landing_mock_ext_task2_desc'     => 'Finale Abnahme aller Seiten, Weiterleitung alter URLs prüfen und Freigabe für den Launch erteilen.',
    'landing_mock_ext_task3_title'    => 'Abnahme &amp; Feedback',
    'landing_mock_ext_task3_desc'     => 'Gesamten Relaunch final abnehmen und schriftliches Feedback zur Umsetzung hinterlassen.',

    // Landing FAQs
    'landing_faq_title'  => 'Häufige Fragen',
    'landing_faq_sub'    => 'Antworten auf die wichtigsten Fragen rund um Plenvo.',
    'landing_faq_help'   => 'Weitere Details finden Sie im <a href="/help" style="color:#4f46e5;font-weight:600">Benutzerhandbuch</a>.',
    'landing_faq_1_q'    => 'Brauche ich ein Konto, um Aufgaben zu sehen?',
    'landing_faq_1_a'    => 'Nicht zwingend. Als externer Teilnehmer erhalten Sie einen persönlichen Zugangslink per E-Mail. Über diesen Link können Sie Ihre zugewiesenen Aufgaben einsehen, den Status aktualisieren und kommentieren – ganz ohne Konto.',
    'landing_faq_2_q'    => 'Wie lade ich jemanden zu einem Projekt ein?',
    'landing_faq_2_a'    => 'Projektleiter können unter <em>Mitglieder</em> interne Benutzer hinzufügen oder externe Teilnehmer per E-Mail einladen. Externe erhalten einen einzigartigen Zugriffslink. Gruppenadmins können Benutzer per Einladungslink zur Gruppe hinzufügen.',
    'landing_faq_3_q'    => 'Was ist der Unterschied zwischen Kanban, Liste und Gantt?',
    'landing_faq_3_a'    => 'Das <strong>Kanban-Board</strong> zeigt Aufgaben als Karten, die Sie per Drag &amp; Drop zwischen Status-Spalten verschieben. Die <strong>Listenansicht</strong> eignet sich zum Filtern und Sortieren. Das <strong>Gantt-Diagramm</strong> visualisiert Aufgaben auf einer Zeitachse, zeigt Abhängigkeiten als Verbindungslinien und lässt sich per Drag &amp; Drop bearbeiten. Mit dem Button <em>Auto-Verknüpfung</em> erkennt Plenvo automatisch, welche Aufgaben zeitlich aufeinanderfolgen, und erstellt die passenden Abhängigkeiten.',
    'landing_faq_4_q'    => 'Was passiert, wenn ich eine Aufgabe als "erledigt" markiere?',
    'landing_faq_4_a'    => 'Die Aufgabe wechselt in den Erledigt-Status. Je nach Projekteinstellung erhalten der Projektleiter und/oder die Bearbeiter abhängiger Nachfolger-Aufgaben eine E-Mail-Benachrichtigung.',
    'landing_faq_5_q'    => 'Was sind Vorgänger-Aufgaben?',
    'landing_faq_5_a'    => 'Vorgänger sind Aufgaben, die zuerst abgeschlossen sein müssen, bevor eine andere Aufgabe sinnvoll bearbeitet werden kann. Im Gantt-Diagramm werden diese Abhängigkeiten als Linien dargestellt. Mit der Funktion <em>Auto-Verknüpfung</em> im Gantt-Diagramm können alle Abhängigkeiten automatisch aus dem Zeitplan abgeleitet werden — auch bei mehreren parallel laufenden Aufgaben. Wenn ein Vorgänger abgeschlossen wird, kann optional eine Benachrichtigung an den Bearbeiter der Folgeaufgabe gesendet werden.',
    'landing_faq_6_q'    => 'Wie sichere ich mein Konto mit 2FA?',
    'landing_faq_6_a'    => 'Unter <em>Einstellungen → Sicherheit</em> können Sie entweder eine Authenticator-App (TOTP) oder die E-Mail-Bestätigung aktivieren. Beide Methoden können gleichzeitig genutzt werden. Falls Ihr Administrator MFA erzwingt, werden Sie beim nächsten Login automatisch zur Einrichtung aufgefordert.',
    'landing_faq_7_q'    => 'Wer kann ein Projekt anlegen?',
    'landing_faq_7_a'    => 'Jeder angemeldete Nutzer kann ein neues Projekt erstellen. Wer ein Projekt anlegt, wird automatisch dessen Projektleiter (Owner) und hat damit die vollständige Kontrolle über Mitglieder, Aufgaben und Einstellungen.',
    'landing_faq_8_q'    => 'Kann ich mehreren Projekten angehören?',
    'landing_faq_8_a'    => 'Ja. Sie können Mitglied in beliebig vielen Projekten sein, jeweils mit einer eigenen Rolle (Owner, Manager, Mitglied oder Gast). Ihre Aufgaben aus allen Projekten sehen Sie gesammelt unter "Meine Aufgaben".',
    'landing_faq_9_q'    => 'Kann die KI-Funktion deaktiviert werden?',
    'landing_faq_9_a'    => 'Ja. Gruppenadmins können den KI-Zugang für ihre Gruppe individuell ein- oder ausschalten. So lässt sich die KI gezielt nur dort nutzen, wo sie gewünscht ist.',
    'landing_faq_10_q'   => 'Auf welche Daten kann die KI zugreifen?',
    'landing_faq_10_a'   => 'Die KI erhält automatisch den Projektnamen und – sofern vorhanden – die Projektbeschreibung sowie die Nachrichten, die Sie selbst im Chat eingeben. Aufgaben, Teammitglieder oder andere Projektdaten werden nicht automatisch übermittelt. Sie entscheiden also selbst, welche zusätzlichen Informationen Sie der KI mitteilen.',

    // Hosting options section
    'landing_hosting_eyebrow'        => 'Zwei Wege, ein Produkt',
    'landing_hosting_title'          => 'Gehostet oder selbst betrieben — Sie wählen',
    'landing_hosting_subtitle'       => 'Plenvo passt sich Ihrer Infrastruktur an. Starten Sie sofort in der Cloud oder installieren Sie die Software auf Ihrem eigenen Server.',
    'landing_hosting_saas_badge'     => 'Software as a Service',
    'landing_hosting_saas_title'     => 'Vollständig gehostet',
    'landing_hosting_saas_desc'      => 'Kein Server, keine Wartung. Betrieb, Updates und Verfügbarkeit sind enthalten. Einfach registrieren und loslegen.',
    'landing_hosting_saas_1'         => 'Sofort einsatzbereit, kein Setup',
    'landing_hosting_saas_2'         => 'Automatische Updates auf neue Versionen',
    'landing_hosting_saas_3'         => 'Betrieb & Wartung enthalten',
    'landing_hosting_saas_cta'       => 'Jetzt registrieren',
    'landing_hosting_self_badge'     => 'Self-Hosted',
    'landing_hosting_self_title'     => 'Auf Ihrem eigenen Server',
    'landing_hosting_self_desc'      => 'Volle Kontrolle über Ihre Daten. Installieren Sie Plenvo auf Ihrer eigenen Infrastruktur — kostenlos und ohne Abhängigkeiten.',
    'landing_hosting_self_1'         => 'Ihre Daten bleiben auf Ihrem Server',
    'landing_hosting_self_2'         => 'Kostenlos herunterladen und installieren',

    // Downloads page
    'dl_hero_sub'      => 'Stabile Version &ndash; selbst gehostet, keine Abhängigkeiten, kein Cloud-Lock-in.',
    'dl_download_btn'  => 'plenvo-latest.zip herunterladen',
    'dl_req_title'              => 'Systemvoraussetzungen',
    'dl_req_php'                => 'PHP 8.1 oder neuer',
    'dl_req_sqlite'             => 'SQLite (in PHP enthalten)',
    'dl_req_webserver'          => 'Apache, nginx oder vergleichbarer Webserver',
    'dl_quickstart_title'       => 'In 3 Schritten startklar',
    'dl_quickstart_step1_title' => 'ZIP entpacken',
    'dl_quickstart_step1_desc'  => 'Laden Sie das Archiv herunter und entpacken Sie es lokal.',
    'dl_quickstart_step2_title' => 'Auf den Server kopieren',
    'dl_quickstart_step2_desc'  => 'Den entpackten Ordner per FTP/SSH in das Webverzeichnis Ihres PHP-Hosts hochladen.',
    'dl_quickstart_step3_title' => 'index.php aufrufen',
    'dl_quickstart_step3_desc'  => 'Im Browser die installierte URL öffnen. Das Setup führt durch die Erstkonfiguration.',
    'dl_sha_copy'               => 'Kopieren',
    'dl_sha_copied'             => 'Kopiert!',
    'dl_sha_verify_hint'        => 'Mit `sha256sum plenvo-latest.zip` lässt sich die Integrität prüfen.',
    'dl_changelog_jump'         => 'Schnellzugriff:',
    'dl_readme_hint'   => 'Enthält Anforderungen, Einrichtung, Datenschutz- und Lizenzinformationen:',
    'dl_readme_open'   => 'README öffnen',
    'dl_changelog_eyebrow' => 'Release Notes',
    'dl_meta_title'    => 'Plenvo Download – Self-Hosted Projektmanagement-Software',
    'dl_meta_desc'     => 'Plenvo zum kostenlosen Download. Self-Hosted Projektmanagement-Software mit Kanban, Gantt, KI-Assistent und Auto-Updater. PHP & SQLite, ohne externe Abhängigkeiten.',
    'dl_meta_keywords' => 'Plenvo Download, Projektmanagement Software Download, Self-Hosted, Kanban Software, Gantt Software, Open Source Projektmanagement',
    'landing_hosting_self_3'         => 'Auto-Updater für einfache Aktualisierungen',
    'landing_hosting_self_cta'       => 'Download',
    // Contact form (landing page)
    // WebAuthn / Security Keys
    'webauthn_settings'         => 'Sicherheitsschlüssel (YubiKey / FIDO2)',
    'webauthn_desc'             => 'Melde dich mit einem physischen Sicherheitsschlüssel (z.B. YubiKey) an – ohne Passwort. Der Schlüssel muss vorher einmal hier registriert werden.',
    'webauthn_add_key'          => 'Schlüssel registrieren',
    'webauthn_key_name'         => 'Name',
    'webauthn_key_name_ph'      => 'z.B. YubiKey 5',
    'webauthn_default_key_name' => 'Sicherheitsschlüssel',
    'webauthn_registered_count' => 'registriert',
    'webauthn_registered_on'    => 'Registriert am',
    'webauthn_last_used'        => 'Zuletzt genutzt',
    'webauthn_touch_key'        => 'Schlüssel berühren oder PIN eingeben …',
    'webauthn_register_success' => 'Sicherheitsschlüssel erfolgreich registriert.',
    'webauthn_register_error'   => 'Registrierung fehlgeschlagen. Bitte erneut versuchen.',
    'webauthn_login_btn'        => 'Mit Sicherheitsschlüssel anmelden',
    'webauthn_login_success'    => 'Authentifizierung erfolgreich.',
    'webauthn_cancelled'        => 'Abgebrochen.',

    'contact_nav'               => 'Kontakt',
    'contact_eyebrow'           => 'Kontakt',
    'contact_title'             => 'Kontakt aufnehmen',
    'contact_subtitle'          => 'Fehler gefunden, eine Idee oder einfach Feedback? Jede Nachricht ist willkommen.',
    'contact_name'              => 'Name',
    'contact_category'          => 'Kategorie',
    'contact_category_ph'       => 'Bitte wählen ...',
    'contact_cat_bug'           => 'Bug melden',
    'contact_cat_feature'       => 'Feature-Wunsch',
    'contact_cat_praise'        => 'Lob',
    'contact_cat_critique'      => 'Kritik',
    'contact_cat_question'      => 'Allgemeine Frage',
    'contact_cat_other'         => 'Sonstiges',
    'contact_message'           => 'Nachricht',
    'contact_max_chars'         => 'max. 5000 Zeichen',
    'contact_submit'            => 'Nachricht senden',
    'contact_success'           => 'Nachricht gesendet! Eine Antwort folgt so bald wie möglich.',
    'contact_error_generic'     => 'Ein Fehler ist aufgetreten.',
    'contact_error_network'     => 'Verbindungsfehler. Bitte versuche es später erneut.',
    'contact_err_not_configured'=> 'Kontaktformular ist auf diesem Server nicht konfiguriert.',
    'contact_err_invalid'       => 'Ungültige Anfrage.',
    'contact_err_too_fast'      => 'Bitte warte einen Moment und versuche es erneut.',
    'contact_err_rate_limit'    => 'Bitte warte etwas, bevor du eine weitere Nachricht sendest.',
    'contact_err_name'          => 'Bitte einen gültigen Namen eingeben (max. 100 Zeichen).',
    'contact_err_email'         => 'Bitte eine gültige E-Mail-Adresse eingeben.',
    'contact_err_category'      => 'Bitte eine Kategorie auswählen.',
    'contact_err_message'       => 'Nachricht muss zwischen 10 und 5000 Zeichen lang sein.',
    'contact_err_send'          => 'E-Mail konnte nicht gesendet werden. Bitte versuche es später erneut.',

    'landing_license_title'          => 'Open Source – AGPL v3',
    'landing_license_body'           => 'Plenvo wird unter der <strong>GNU Affero General Public License v3</strong> veröffentlicht. Die Software darf kostenlos genutzt, betrieben und eingesehen werden. Eine Weitergabe oder Modifikation des Quellcodes ist nur unter denselben Lizenzbedingungen erlaubt. Installationen müssen den Hinweis „Powered by Plenvo" mit Verweis auf <a href="https://plenvo.gp-server.com" target="_blank" rel="noopener" style="color:#4f46e5;text-decoration:none;font-weight:600">plenvo.gp-server.com</a> sichtbar beibehalten.',

    // Layout / Navigation
    'delete_all'                  => 'Alles löschen',
    'pending_count'               => 'ausstehend',

    // Preferences page
    'preferred_project_view'      => 'Bevorzugte Projektansicht',
    'preferred_view_hint'         => 'Diese Ansicht wird automatisch vorausgewählt, wenn du ein neues Projekt anlegst.',
    'request_group_creation_hint' => 'Du kannst beim Administrator beantragen, eigene Gruppen anlegen zu dürfen.',
    'group_creation'              => 'Gruppe anlegen',
    'permission_active'           => 'Berechtigung aktiv',
    'permission_active_desc'      => 'Du kannst eigene Gruppen anlegen.',
    'request_pending_status'      => 'Anfrage ausstehend',
    'request_pending_desc'        => 'Deine Anfrage wird vom Administrator geprüft.',
    'request_denied_status'       => 'Abgelehnt',
    'request_denied_desc'         => 'Deine letzte Anfrage wurde abgelehnt.',
    'request_again'               => 'Erneut beantragen',
    'permission_revoked_status'   => 'Berechtigung entzogen',
    'permission_revoked_desc'     => 'Deine Berechtigung wurde vom Administrator entzogen.',
    'request_access'              => 'Zugang beantragen',

    // Group requests (admin)
    'group_requests_title'        => 'Gruppenanfragen',
    'group_creation_requests'     => 'Anfragen zur Gruppenerstellung',
    'no_requests'                 => 'Noch keine Anfragen vorhanden.',
    'status_label'                => 'Status',
    'date_label'                  => 'Datum',
    'pending_status'              => 'Ausstehend',
    'approved_status'             => 'Genehmigt',
    'revoked_status'              => 'Entzogen',
    'denied_status'               => 'Abgelehnt',
    'approve'                     => 'Genehmigen',
    'deny'                        => 'Ablehnen',
    'confirm_deny'                => 'Anfrage ablehnen?',
    'revoke_permission'           => 'Berechtigung entziehen',
    'confirm_revoke_permission'   => 'Berechtigung entziehen?',
    'approve_again'               => 'Erneut genehmigen',
    'grant_permission_direct'     => 'Berechtigung direkt erteilen',
    'grant_permission'            => 'Berechtigung erteilen',

    // Plugins (admin)
    'installed_plugins'           => 'Installierte Plugins',
    'no_plugins'                  => 'Keine Plugins installiert.',
    'plugin_version'              => 'Version',
    'plugin_active'               => 'Aktiv',
    'plugin_disabled'             => 'Deaktiviert',
    'plugin_deactivate'           => 'Deaktivieren',
    'plugin_activate'             => 'Aktivieren',
    'plugin_delete_confirm'       => 'Plugin wirklich löschen?',
    'plugin_upload_title'         => 'Plugin hochladen',
    'plugin_upload_label'         => 'ZIP-Datei (max. 5 MB)',
    'plugin_upload_btn'           => 'Hochladen & installieren',
    'plugin_structure_title'      => 'Plugin-Struktur',
    'plugin_upload_hint'          => 'Lade ein Plugin als <strong>.zip</strong>-Datei hoch. Das ZIP muss eine <code>plugin.json</code> mit den Feldern <code>id</code>, <code>name</code> und <code>class</code> enthalten.',
    'plugin_structure_hint'       => 'Minimale <code>plugin.json</code>:',
    'plugin_class_hint'           => 'Die Klasse muss eine <code>register()</code>-Methode haben und liegt als <code>ClassName.php</code> im selben Verzeichnis.',

    // Users (admin)
    'pw_reset_short'              => 'PW Reset',
    'reset_btn'                   => 'Zurücksetzen',

    // Group admin
    'new_group'                   => 'Neue Gruppe',
    'new_group_title'             => 'Neue Gruppe anlegen',
    'no_group_yet'                => 'Du hast noch keine Gruppe. Lege jetzt deine erste Gruppe an.',
    'group_name_label'            => 'Gruppenname',
    'group_name_placeholder'      => 'z.B. Marketing, Entwicklung…',
    'group_desc_placeholder'      => 'Kurze Beschreibung der Gruppe…',
    'group_admin_auto'            => 'Du wirst automatisch als Gruppenadmin eingetragen.',
    'create_btn'                  => 'Anlegen',
    'ai_blocked_label'            => 'KI gesperrt',
    'ai_active_label'             => 'KI aktiv',
    'ai_block_confirm'            => 'KI für alle Mitglieder dieser Gruppe sperren?',
    'ai_blocked_title'            => 'KI ist gesperrt – klicken zum Freigeben',
    'ai_active_title'             => 'KI ist aktiv – klicken zum Sperren',
    'delete_group'                => 'Gruppe löschen',
    'delete_group_confirm'        => 'Gruppe wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.',
    'me_badge'                    => 'Ich',
    'reset_password_btn'          => 'Zurücksetzen',

    // Notifications
    'open_btn'                    => 'Öffnen',
    'no_permission_hint'          => 'Keine Berechtigung – in den Einstellungen beantragen',

    // Invite accept
    'invite_wrong_user'           => 'Diese Einladung wurde an eine andere E-Mail-Adresse gesendet und kann mit deinem Konto nicht angenommen werden.',
    'invite_to_dashboard'         => 'Zum Dashboard',
    'invite_login_required'       => 'Melde dich mit diesem Konto an, um der Gruppe beizutreten.',
    'invite_login_btn'            => 'Anmelden & Einladung annehmen',
    'invite_join_text'            => 'Du wurdest eingeladen, der Gruppe beizutreten.',
    'invite_join_btn'             => 'Einladung annehmen',

    // Gantt
    'manual'                      => 'Handbuch',

    // Admin settings
    'smtp_external_badge'         => 'Externer SMTP – kein lokaler Mailserver',
    'smtp_info_text'              => 'Das System verwendet <strong>ausschließlich</strong> den konfigurierten SMTP-Server. Lokaler Mailversand (sendmail/mail) ist deaktiviert.',
    'keep_password_hint'          => 'Leer lassen um das aktuelle Passwort beizubehalten',
    'mail_settings'               => 'E-Mail-Einstellungen',
    'mail_queue_title'            => 'Mail-Warteschlange',
    'mail_queue_desc'             => 'Ausgehende E-Mails werden in der Warteschlange gepuffert und vom Cron im Hintergrund versendet.',
    'mail_queue_pending'          => 'Ausstehend',
    'mail_queue_stuck'            => 'Aufgegeben',
    'mail_queue_oldest'           => 'Älteste ausstehende',
    'mail_queue_open'             => 'Warteschlange öffnen',
    'mail_queue_clear_all'        => 'Komplett leeren',
    'mail_queue_clear_stuck'      => 'Aufgegebene löschen',
    'mail_queue_clear_sent'       => 'Versendete entfernen',
    'mail_queue_confirm_all'      => 'Wirklich alle Einträge der Mail-Warteschlange löschen? Noch nicht versendete E-Mails gehen verloren.',
    'mail_queue_confirm_stuck'    => 'Wirklich alle aufgegebenen Einträge löschen?',
    'mail_queue_confirm_sent'     => 'Wirklich die Historie versendeter E-Mails entfernen?',
    'mail_queue_empty'            => 'Die Mail-Warteschlange ist leer.',
    'mail_queue_state_pending'    => 'Ausstehend',
    'mail_queue_state_stuck'      => 'Aufgegeben',
    'mail_queue_state_sent'       => 'Versendet',
    'hc_mail_queue'               => 'Mail-Warteschlange',
    'hc_mail_queue_empty'         => 'Warteschlange ist leer.',
    'hc_mail_queue_pending'       => ':n E-Mail(s) zur Auslieferung ausstehend.',
    'hc_mail_queue_backlog'       => ':n E-Mail(s) seit über :m Minuten ausstehend — Cron-Worker erreicht die Queue nicht.',
    'hc_mail_queue_stuck'         => ':n E-Mail(s) nach maximalen Zustellversuchen aufgegeben.',
    'mail_provider'               => 'E-Mail-Anbieter',
    'mail_provider_smtp'          => 'SMTP',
    'mail_provider_microsoft'     => 'Microsoft 365 (OAuth)',
    'mail_provider_local'         => 'Lokaler Mailversand (sendmail)',
    'local_mail_info_text'        => 'E-Mails werden über die lokale Serverkonfiguration (PHP mail() / sendmail) verschickt. Kein externer Mailserver erforderlich. Absender-Adresse und Name können optional konfiguriert werden.',
    'ms_tenant_id'                => 'Tenant-ID',
    'ms_client_id'                => 'Client-ID',
    'ms_client_secret'            => 'Client Secret',
    'ms_from_email'               => 'Absender E-Mail',
    'ms_info_text'                => 'E-Mail-Versand über Microsoft Graph API (OAuth 2.0 Client Credentials). App-Registrierung in Azure anlegen, Berechtigung Mail.Send (Anwendungsberechtigung) vergeben und Tenant-ID, Client-ID sowie Client-Secret eintragen.',
    'ms_test_ok'                  => 'Microsoft-Verbindung erfolgreich – Authentifizierung OK',
    'ms_test_fail'                => 'Microsoft-Verbindung fehlgeschlagen – Anmeldedaten prüfen',
    'ms_missing_fields'           => 'Tenant-ID, Client-ID und Client-Secret sind erforderlich',
    'ollama_url_hint'             => 'Lokal oder remote, z.B. https://mein-server.com',
    'ai_rate_limited'             => 'Zu viele Nachrichten. Bitte warte eine Stunde, bevor du weitere Nachrichten sendest.',
    'ai_authentication'           => 'Authentifizierung',
    'auth_none_label'             => 'Keine (lokale Installation)',
    'bearer_token_hint'           => 'Für ollama.com: API-Key aus den Account-Einstellungen',
    'openai_key_hint'             => 'OpenAI API-Schlüssel aus platform.openai.com',
    'model_label'                 => 'Modell',
    'azure_endpoint_label'        => 'Azure-Endpunkt',
    'azure_endpoint_hint'         => 'Die Basis-URL deiner Azure OpenAI-Ressource',
    'deployment_label'            => 'Deployment',
    'api_version_label'           => 'API-Version',
    'api_key_label'               => 'API-Schlüssel',
    'azure_key_hint'              => 'Zu finden unter Azure Portal → deine OpenAI-Ressource → Keys and Endpoint',
    'load_models'                 => 'Modelle laden',
    'stored_placeholder'          => '(gespeichert)',
    'password_min'                => 'Passwort mind. 8 Zeichen',
    'new_password_min'            => 'Neues Passwort mind. 8 Zeichen',
    'password_reset_success'      => 'Passwort zurückgesetzt',
    'request_approved'            => 'Anfrage genehmigt.',
    'request_denied'              => 'Anfrage abgelehnt.',
    'notif_group_approved_title'  => 'Gruppenanfrage genehmigt',
    'notif_group_approved_msg'    => 'Deine Anfrage, eigene Gruppen anlegen zu dürfen, wurde genehmigt.',
    'notif_group_denied_title'    => 'Gruppenanfrage abgelehnt',
    'notif_group_denied_msg'      => 'Deine Anfrage, eigene Gruppen anlegen zu dürfen, wurde leider abgelehnt.',
    'status_updated'              => 'Status aktualisiert',
    'comment_saved'               => 'Kommentar gespeichert.',
    'invalid_request'             => 'Ungültige Anfrage.',
    'plugin_deleted'              => 'Plugin gelöscht.',
    'plugin_uploaded'             => 'Plugin hochgeladen und installiert.',
    'plugin_delete_error'         => 'Plugin konnte nicht gelöscht werden.',
    'plugin_lock_active_hint'     => 'Dieses Plugin ist dauerhaft aktiv. Eine Deaktivierung würde die durch das Plugin garantierte Datentrennung aufheben und einen Datenschutzvorfall auslösen.',
    'plugin_lock_active_error'    => 'Dieses Plugin kann nicht deaktiviert oder entfernt werden, da es eine dauerhafte Datentrennung garantiert.',
    'zip_only'                    => 'Nur ZIP-Dateien erlaubt.',
    'zip_not_supported'           => 'ZIP-Unterstützung nicht verfügbar.',
    'zip_not_openable'            => 'ZIP konnte nicht geöffnet werden.',
    'upload_failed'               => 'Upload fehlgeschlagen.',
    'file_too_large'              => 'Datei zu groß (max. 5 MB).',
    'zip_path_traversal'          => 'Ungültiges ZIP (Pfad-Traversal erkannt).',
    'zip_no_manifest'             => 'Keine plugin.json im ZIP gefunden.',
    'invalid_plugin_json'         => 'Ungültige plugin.json (id und class sind Pflichtfelder).',
    'invalid_plugin_id'           => 'Ungültige Plugin-ID (nur Buchstaben, Zahlen, - und _).',
    'name_required'               => 'Name ist erforderlich',
    'group_name_required'         => 'Gruppenname ist erforderlich.',
    'group_created_success'       => 'Gruppe wurde erfolgreich erstellt.',
    'group_invite_notif_title'    => 'Gruppeneinladung',
    'title_required'              => 'Titel ist erforderlich',
    'description_required'        => 'Beschreibung ist erforderlich',
    'due_date_required'           => 'Fälligkeitsdatum ist erforderlich',
    'image_only'                  => 'Nur Bilder erlaubt (jpg, png, gif, webp)',
    'image_too_large'             => 'Bild max. 2MB',
    'avatar_updated'              => 'Avatar aktualisiert',
    'new_group_request_title'     => 'Neue Gruppenanfrage',
    'new_group_request_msg'       => '%s beantragt die Berechtigung, Gruppen anlegen zu dürfen.',
    'group_request_sent'          => 'Deine Anfrage wurde gesendet und wird vom Administrator geprüft.',
    'invite_not_found'            => 'Einladung nicht gefunden oder abgelaufen',
    'invite_wrong_account'        => 'Diese Einladung gilt nicht für dein Konto',
    'invite_join_error'           => 'Fehler beim Beitreten',
    'group_invite_notif_msg'      => '%s hat dich zur Gruppe "%s" eingeladen.',
    'model_load_unknown_provider' => 'Unbekannter Anbieter.',
    'model_load_failed'           => 'Verbindung fehlgeschlagen – bitte Zugangsdaten prüfen.',
    'project_create_error'        => 'Fehler beim Erstellen des Projekts',
    'status_open'                 => 'Offen',
    'status_in_progress'          => 'In Arbeit',
    'status_review'               => 'Überprüfung',
    'status_done'                 => 'Erledigt',
    'project_label'               => 'Projekt',
    'gantt_weeks'                 => 'Wochen',
    'gantt_months'                => 'Monate',
    'gantt_auto_deps'             => 'Auto-Verknüpfung',
    'gantt_auto_deps_title'       => 'Abhängigkeiten automatisch aus Zeitplan erstellen',
    'gantt_clear_deps'            => 'Verknüpfungen löschen',
    'gantt_clear_deps_title'      => 'Alle Abhängigkeiten dieses Projekts entfernen',
    'gantt_confirm_clear_deps'    => 'Alle Verknüpfungen dieses Projekts wirklich entfernen?',
    'gantt_clear_dates'           => 'Daten löschen',
    'gantt_clear_dates_title'     => 'Alle Start- & Enddaten der Aufgaben entfernen',
    'gantt_confirm_clear_dates'   => 'Alle Start- & Enddaten aller Aufgaben wirklich entfernen?',

    'powered_by_plenvo'   => 'Powered by Plenvo',

    // Auto-updater
    'update_nav'               => 'Updates',
    'update_title'             => 'System-Update',
    'update_status'            => 'Update-Status',
    'update_installed_version' => 'Installierte Version',
    'update_available_version' => 'Verfügbare Version',
    'update_new'               => 'Neue Version verfügbar',
    'update_latest'            => 'Aktuell',
    'update_preview'           => 'Vorschau-Version',
    'update_check_failed'      => 'Prüfung fehlgeschlagen – Server nicht erreichbar',
    'update_changelog'         => 'Änderungen',
    'update_force_check'       => 'Erneut prüfen',
    'update_now'               => 'Auf :version aktualisieren',
    'update_confirm'           => 'Jetzt auf die neue Version aktualisieren? Erstelle vorher ein Backup der data/-Mappe.',
    'update_already_latest'    => 'Bereits auf dem neuesten Stand.',
    'update_success'           => 'Update erfolgreich! Die Datenbank wird beim nächsten Aufruf migriert.',
    'update_progress_title'    => 'Update wird durchgeführt',
    'update_progress_starting' => 'Starte Update…',
    'update_redirect_in'       => 'Weiterleitung in',
    'update_unknown_error'     => 'Unbekannter Fehler',
    'update_hints_title'       => 'Hinweise',
    'update_hint_backup'       => '⚠ Erstelle vor jedem Update ein Backup deiner data/-Mappe (Datenbank, Uploads, Avatare).',
    'update_hint_data'         => '✓ Deine Daten in data/ werden beim Update niemals überschrieben.',
    'update_hint_migrations'   => '✓ Datenbankmigrationen laufen automatisch beim nächsten Seitenaufruf.',
    'updates_enabled'          => 'Automatische Update-Prüfung aktiviert',
    'updates_enabled_hint'     => 'Deaktivieren verhindert alle ausgehenden Verbindungen zu plenvo.gp-server.com.',
    'updates_disabled_label'   => 'Update-Prüfung deaktiviert',

    // System info
    'system_info'         => 'Software Update',
    'changelog_since'     => 'Änderungen in dieser Version',
    'view_changelog'      => 'Changelog ansehen',
    'app_version_label'   => 'Installierte Version',

    // External views
    'overview'                    => 'Übersicht',
    'send'                        => 'Senden',
    'change_status'               => 'Status ändern',
    'no_tasks_assigned'           => 'Keine Aufgaben zugewiesen.',
    'ext_badge'                   => 'Ext.',
    'ext_comment_placeholder'     => 'Kommentar schreiben… – @ zum Erwähnen',
    'due_label'                   => 'Fällig am',
    'comment_empty_error'         => 'Kommentar darf nicht leer sein.',
    'comment_too_long'            => 'Kommentar zu lang (max. 5000 Zeichen).',
    'ext_assign_greeting' => 'Hallo :name,',
    'ext_assign_intro' => 'Ihnen wurde die Aufgabe :task im Projekt :project zugewiesen.',
    'ext_assign_link' => 'Aufgaben anzeigen →',
    'ext_assign_footer' => 'Dieser Link ist persönlich und gibt Ihnen Zugang zu Ihren Aufgaben in diesem Projekt.',
    'ext_assign_subject' => 'Aufgabe zugewiesen – :task',
    'app_default_language_label' => 'Standard-Systemsprache',
    'app_default_language_hint' => 'Wird verwendet, wenn weder die Browsersprache des Nutzers noch dessen persönliche Einstellung eine unterstützte Sprache ergibt.',
    'domain_lang_title' => 'Domain-Spracheinstellungen',
    'domain_lang_desc' => 'Externe Empfänger erhalten E-Mails in der Sprache, die der Domain ihrer E-Mail-Adresse zugeordnet ist.',
    'domain_lang_col_domain' => 'Domain',
    'domain_lang_col_language' => 'Sprache',
    'domain_lang_add_btn' => 'Zuordnung speichern',
    'domain_lang_empty' => 'Noch keine Domain-Zuordnungen angelegt.',
    'domain_lang_invalid_domain' => 'Ungültige Domain.',
    'domain_lang_invalid_language' => 'Ungültige Sprache.',
    'domain_lang_saved' => 'Domain-Zuordnung gespeichert.',
    'domain_lang_save_failed' => 'Domain-Zuordnung konnte nicht gespeichert werden.',
    'domain_lang_deleted' => 'Domain-Zuordnung entfernt.',
    'contact_attachment_label' => 'Datei (optional)',
    'contact_attachment_hint' => 'Bilder oder PDF, max. 10 MB.',
    'contact_err_attachment_type' => 'Nur Bilder (jpg, png, gif, webp) und PDF sind erlaubt.',
    'contact_err_attachment_size' => 'Datei zu groß (max. 10 MB).',
    'contact_err_attachment_upload' => 'Datei-Upload fehlgeschlagen.',
    'auto_update_title' => 'Geplante automatische Updates',
    'auto_update_desc' => 'Wenn aktiviert, installiert der Cron im konfigurierten Zeitfenster verfügbare Updates automatisch. Setzt voraus, dass cron.php regelmäßig läuft (z. B. alle 5–15 Minuten) und Updates erlaubt sind.',
    'auto_update_enabled' => 'Automatische Updates aktivieren',
    'auto_update_time_label' => 'Geplante Uhrzeit (HH:MM, Serverzeit)',
    'auto_update_time_hint' => 'Updates werden im Cron-Lauf nach diesem Zeitpunkt installiert, höchstens einmal pro Tag.',
    'hc_migrations' => 'Datenbank-Migrationen',
    'hc_migrations_ok' => 'Alle Migrationen angewendet',
    'hc_migrations_pending' => ':n ausstehend',
    'hc_migrations_failed' => 'Fehlgeschlagen: :id (:error)',
    'hc_migrations_failed_generic' => 'Fehlgeschlagen, siehe Server-Log',
    'hc_app_version' => 'App-Version (Code vs. DB)',
    'hc_app_version_ok' => 'Code und Datenbank synchron (:code)',
    'hc_app_version_mismatch' => 'Code-Version :code, DB-Version :db',
    'plugin_settings' => 'Einstellungen',
    'hc_ldap_transport' => 'LDAP-Transport',
    'hc_ldap_inactive' => 'LDAP-Plugin nicht aktiviert',
    'hc_ldap_transport_ok' => ':mode aktiv',
    'hc_ldap_transport_cleartext' => 'Cleartext-LDAP überträgt Bind-Credentials und Passwörter unverschlüsselt',
    'hc_ldap_ca' => 'LDAP-CA-Zertifikat',
    'hc_ldap_ca_none' => 'Kein CA-Zertifikat hinterlegt',
    'hc_ldap_ca_unknown' => 'CA hinterlegt, Gültigkeit unbekannt',
    'hc_ldap_ca_expired' => 'CA-Zertifikat seit :days Tagen abgelaufen',
    'hc_ldap_ca_soon' => 'CA-Zertifikat läuft in :days Tagen ab',
    'hc_ldap_ca_ok' => 'CA-Zertifikat gültig (noch :days Tage)',
    'hc_ldap_sync' => 'LDAP-Synchronisierung',
    'hc_ldap_sync_never' => 'Noch keine Synchronisierung gelaufen',
    'hc_ldap_sync_ok' => 'Letzter Lauf vor :h Std.',
    'hc_ldap_sync_warn' => 'Letzter Lauf vor :h Std. (über 4 h)',
    'hc_ldap_sync_stale' => 'Letzter Lauf vor :h Std. (über 24 h)',
    'bulk_selected' => 'ausgewählt',
    'bulk_set_status' => 'Status setzen',
    'bulk_set_priority' => 'Priorität setzen',
    'bulk_set_assignees' => 'Zuweisen',
    'bulk_set_due_date' => 'Fälligkeitsdatum setzen',
    'bulk_add_label' => 'Label hinzufügen',
    'bulk_remove_label' => 'Label entfernen',
    'bulk_apply' => 'Anwenden',
    'bulk_clear' => 'Auswahl aufheben',
    'bulk_delete' => 'Löschen',
    'bulk_confirm_delete' => ':n Aufgaben wirklich löschen?',
    'external' => 'Extern',
    'clear' => 'Leeren',
    'cmdk_placeholder' => 'Projekte, Aufgaben oder Personen suchen…',
    'cmdk_empty' => 'Keine Treffer',
    'cmdk_type_more' => 'Mindestens 2 Zeichen eingeben…',
    'cmdk_navigate' => 'navigieren',
    'cmdk_open' => 'öffnen',
    'shortcuts_title' => 'Tastenkombinationen',
    'shortcuts_open_palette' => 'Schnellsuche öffnen',
    'shortcuts_navigate_results' => 'Treffer durchgehen',
    'shortcuts_open_result' => 'Treffer öffnen',
    'shortcuts_close' => 'Dialog schließen',
    'shortcuts_hint' => 'Die Schnellsuche findet Projekte und Aufgaben, auf die du Zugriff hast. Die Tastenkombinationen funktionieren von überall in Plenvo.',
    'cmdk_people' => 'Personen',
    'cmdk_open_tasks' => 'offen',
    'managed_tasks_title' => 'Aufgaben in deinen Projekten',
    'managed_tasks_subtitle' => 'Offene Aufgaben von :name in Projekten, in denen du Owner oder Manager bist.',
    'managed_tasks_empty' => 'Keine offenen Aufgaben in deinen Projekten.',
    'plugin_impersonate_desc' => 'Ermöglicht Administratoren, die App als ein anderer Nutzer zu nutzen.',
    'plugin_provider_edition_desc' => 'Gruppenbasierte Nutzerisolation, Gruppen-Erstellungsanträge und E-Mail-Einladungen.',
    'plugin_ldap_desc' => 'Authentifiziert Plenvo-Nutzer transparent gegen einen LDAP/AD-Server. Unterstützt LDAPS, StartTLS und (mit Warnung) Cleartext. JIT-Provisioning, Cron-Sync für deaktivierte Verzeichnisnutzer, optionale Admin-Gruppe.',
    'plugin_oidc_desc' => 'Single Sign-On via OpenID Connect. Unterstützt Keycloak, Google Workspace, Microsoft Entra ID und beliebige andere OIDC-konforme Identity-Provider gleichzeitig.',
    'plugin_gdpr_desc' => 'Erfüllt das Auskunftsrecht nach Art. 15 DSGVO. Admins können Datenkopien für einzelne Nutzer exportieren; optional dürfen Nutzer ihre eigenen Daten selbst herunterladen.',
    'gdpr_settings_title' => 'DSGVO Datenexport',
    'gdpr_settings_saved' => 'DSGVO-Einstellungen gespeichert.',
    'gdpr_admin_section' => 'Admin-Export',
    'gdpr_admin_section_hint' => 'Unter /admin/users findet sich pro Benutzerzeile ein Button "DSGVO-Export", der ein ZIP mit den Daten dieses Nutzers erzeugt. Der Export wird zur Laufzeit erstellt und nicht auf dem Server gespeichert.',
    'gdpr_self_export_section' => 'Self-Service-Export',
    'gdpr_self_export_enable' => 'Nutzer dürfen ihre eigenen Daten exportieren',
    'gdpr_self_export_enable_hint' => 'Wenn aktiv, erscheint auf der Seite /settings für jeden Nutzer eine Download-Karte. Ohne diese Option können nur Admins DSGVO-Exporte erzeugen.',
    'gdpr_cooldown_label' => 'Wartezeit zwischen Self-Service-Exporten (Stunden)',
    'gdpr_cooldown_hint' => 'Ein Nutzer darf erst nach Ablauf dieser Stundenzahl seit dem letzten eigenen Export einen neuen anstoßen. Schützt vor Missbrauch des Endpunkts.',
    'gdpr_attachments_section' => 'Anhänge',
    'gdpr_include_attachments_label' => 'Hochgeladene Dateien dem ZIP beifügen',
    'gdpr_include_attachments_hint' => 'Wenn aktiv, werden Dateien des Nutzers unter attachments/ ins Archiv aufgenommen. Kann zu sehr großen Downloads führen.',
    'gdpr_intro_section' => 'README-Einleitungstext',
    'gdpr_intro_label' => 'Vom Betreiber gestellter Einleitungstext',
    'gdpr_intro_hint' => 'Freier Text, der in jedem Export am Anfang der README steht. Hier den Verantwortlichen, den Datenschutzbeauftragten und die Rechtsgrundlage der Verarbeitung benennen.',
    'gdpr_intro_placeholder' => 'Verantwortlicher: ACME GmbH, Musterstraße 1, 12345 Stadt. Datenschutzbeauftragter: dsb@beispiel.de. Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) und lit. f (berechtigtes Interesse am Tool-Betrieb).',
    'gdpr_err_cooldown_range' => 'Wartezeit muss zwischen 1 und 8760 Stunden liegen.',
    'gdpr_err_intro_too_long' => 'Einleitungstext überschreitet das Limit von 4000 Zeichen.',
    'gdpr_export_admin_btn' => 'DSGVO-Export',
    'gdpr_export_admin_btn_title' => 'ZIP-Archiv mit den persönlichen Daten dieses Nutzers herunterladen (Art. 15 DSGVO).',
    'gdpr_self_export_card_title' => 'Eigene Daten herunterladen (DSGVO)',
    'gdpr_self_export_card_desc' => 'Lade ein ZIP-Archiv mit einer Kopie der persönlichen Daten herunter, die diese Instanz über dich gespeichert hat. Der Download wird live erzeugt und nicht auf dem Server abgelegt.',
    'gdpr_self_export_btn' => 'Meine Daten herunterladen',
    'gdpr_self_export_cooldown' => 'In %d Stunde(n) wieder verfügbar.',
    'gdpr_self_export_disabled' => 'Der Self-Service-Export ist vom Betreiber derzeit deaktiviert.',
    'gdpr_readme_heading' => 'DSGVO Datenexport — %s',
    'gdpr_readme_for' => 'Für: %s <%s>',
    'gdpr_readme_generated' => 'Erstellt: %s',
    'gdpr_readme_trigger' => 'Ausgelöst: %s',
    'gdpr_readme_triggered_admin' => 'durch einen Administrator in Ihrem Auftrag',
    'gdpr_readme_triggered_self' => 'durch Sie selbst über die Self-Service-Seite',
    'gdpr_readme_contents_heading' => 'Inhalt dieses Archivs',
    'gdpr_readme_contents' => "Jede JSON-Datei in diesem ZIP entspricht einer Kategorie personenbezogener Daten:\n\n  profile.json           Konto und Einstellungen (ohne Passwort-Hash, MFA-Secret, Passwort-Reset-Token).\n  projects.json          Projekte, deren Eigentümer oder Mitglied Sie sind.\n  tasks.json             Aufgaben, die Sie erstellt haben oder die Ihnen zugewiesen sind.\n  comments.json          Kommentare, die Sie verfasst haben.\n  ai_messages.json       Nachrichten an den KI-Assistenten (sofern genutzt).\n  notifications.json     An Sie gerichtete Benachrichtigungen.\n  activity_log.json      Aktionen, die Sie ausgeführt haben (Anlegen, Ändern, Statuswechsel usw.).\n  security_events.json   Sicherheitsrelevante Ereignisse Ihres Kontos (Logins, MFA, Exporte).\n  webauthn.json          Metadaten registrierter Passkeys (ohne öffentliche Schlüssel-Bytes).\n  invitations.json       An Ihre E-Mail-Adresse gesendete Einladungen.\n  attachments.json       Metadaten von Ihnen hochgeladener Dateien.\n  group_memberships.json Gruppenmitgliedschaften (nur in Provider-Edition-Installationen).\n  attachments/           Die hochgeladenen Dateien selbst, nur wenn der Betreiber dies aktiviert hat.\n\nBewusst NICHT enthalten: Passwort-Hash, TOTP-Secret, MFA-Wiederherstellungscodes, WebAuthn-Public-Key-Bytes, verschlüsselte E-Mail-Inhalte, transiente Mail-Warteschlange. Diese Daten würden Ihnen nichts nützen und die Sicherheit Ihres Kontos schwächen.",
    'gdpr_readme_rights_heading' => 'Ihre Rechte nach der DSGVO',
    'gdpr_readme_rights' => "Über das mit diesem Export erfüllte Auskunftsrecht (Art. 15) hinaus haben Sie:\n\n  - Recht auf Berichtigung (Art. 16): falsche Daten in den Konto-Einstellungen korrigieren.\n  - Recht auf Löschung (Art. 17): Konto über die Einstellungsseite löschen.\n  - Recht auf Einschränkung der Verarbeitung (Art. 18).\n  - Recht auf Datenübertragbarkeit (Art. 20): die JSON-Dateien dieses Archivs sind maschinenlesbar.\n  - Widerspruchsrecht (Art. 21).\n  - Beschwerderecht bei einer Aufsichtsbehörde (Art. 77).\n\nBei Fragen zur Verarbeitung Ihrer Daten wenden Sie sich an den oben in der Einleitung genannten Verantwortlichen.",
    'oidc_settings_title' => 'OIDC / Single Sign-On',
    'oidc_settings_saved' => 'OIDC-Einstellungen gespeichert.',
    'oidc_global_section' => 'Allgemein',
    'oidc_enable' => 'OIDC-Anmeldung aktivieren',
    'oidc_enable_hint' => 'Wenn aktiv, erscheinen unten im Login-Formular Buttons für jeden konfigurierten und freigeschalteten Provider.',
    'oidc_redirect_uri_label' => 'Redirect-URI (im Provider eintragen)',
    'oidc_redirect_uri_hint' => 'Diese URL musst du beim Provider als erlaubten Redirect-URI hinterlegen. Wenn die Plenvo-URL sich ändert, muss sie auch beim Provider aktualisiert werden.',
    'oidc_takeover_existing_users' => 'Bestehende lokale Konten beim ersten erfolgreichen OIDC-Login übernehmen',
    'oidc_takeover_existing_users_hint' => 'Wenn aus, dürfen Nutzer mit lokalem Konto sich nicht über OIDC anmelden. Wenn an, wird das Konto beim ersten OIDC-Login auf den Provider umgestellt; das lokale Passwort wird unbrauchbar.',
    'oidc_add_provider' => 'Provider hinzufügen',
    'oidc_kind' => 'Provider-Typ',
    'oidc_kind_keycloak' => 'Keycloak',
    'oidc_kind_google' => 'Google Workspace',
    'oidc_kind_microsoft' => 'Microsoft Entra ID',
    'oidc_kind_custom' => 'Anderer OIDC-Provider',
    'oidc_kind_input_label' => 'Schnell-Setup',
    'oidc_kind_input_hint' => 'Keycloak: Realm-URL (z.B. https://keycloak.example.com/realms/plenvo). Microsoft: Tenant-ID. Google: leer lassen.',
    'oidc_provider_id' => 'Interne ID',
    'oidc_provider_id_hint' => 'Nur Kleinbuchstaben, Ziffern, _ und -. Wird in der URL und intern verwendet, später nicht mehr änderbar.',
    'oidc_provider_label' => 'Anzeigename',
    'oidc_provider_enabled' => 'Provider aktivieren',
    'oidc_discovery_url' => 'Discovery-URL',
    'oidc_discovery_url_hint' => 'Optional: wird aus dem Schnell-Setup automatisch ergänzt. Muss auf "/.well-known/openid-configuration" enden.',
    'oidc_client_id' => 'Client-ID',
    'oidc_client_secret' => 'Client-Secret',
    'oidc_secret_set_keep' => 'Vorhandenes Secret beibehalten – leer lassen.',
    'oidc_scopes' => 'Scopes',
    'oidc_optional' => '(optional)',
    'oidc_refresh_discovery' => 'Discovery neu laden',
    'oidc_or_continue_with' => 'Oder anmelden mit',
    'oidc_sign_in_with' => 'Anmelden mit',
    'oidc_err_unavailable' => 'OIDC-Anmeldung ist derzeit nicht verfügbar.',
    'oidc_err_session' => 'Anmeldung abgelaufen, bitte erneut versuchen.',
    'oidc_err_state' => 'Sicherheitsprüfung der Anmeldung fehlgeschlagen.',
    'oidc_err_discovery' => 'Provider nicht erreichbar oder fehlerhaft konfiguriert.',
    'oidc_err_token' => 'Anmeldung fehlgeschlagen, bitte erneut versuchen.',
    'oidc_err_locked' => 'Konto gesperrt oder Übernahme nicht erlaubt.',
    'oidc_err_generic' => 'Anmeldung fehlgeschlagen.',
    'oidc_err_invalid_id' => 'Interne ID darf nur a-z, 0-9, Unterstrich und Bindestrich enthalten.',
    'oidc_err_id_taken' => 'Diese interne ID existiert bereits.',
    'oidc_err_invalid_discovery' => 'Discovery-URL muss HTTPS sein und auf /.well-known/openid-configuration enden. http:// ist nur für localhost erlaubt.',
    'oidc_err_client_id_required' => 'Client-ID ist erforderlich.',
    'oidc_err_secret_required' => 'Client-Secret ist erforderlich.',
    'oidc_err_unknown_provider' => 'Provider nicht gefunden.',
    'inactive_cleanup_title' => 'Inaktive Konten automatisch löschen',
    'nav_inactive_cleanup' => 'Inaktive Konten',
    'inactive_cleanup_excluded_label' => 'Niemals betroffen',
    'inactive_cleanup_excluded_hint' => 'Administrator-Konten sowie Konten, die über LDAP/Active Directory verwaltet werden. Deren Lebenszyklus regelt das Verzeichnis.',
    'scope_mine' => 'Meine Aufgaben',
    'scope_all_my_projects' => 'Alle in meinen Projekten',
    'assigned_filter_me' => 'Mir zugewiesen',
    'assigned_filter_others' => 'Andere Personen',
    'assigned_filter_externals' => 'Externe Nutzer',
    'assigned_filter_none' => 'Niemandem zugewiesen',
    'assigned_filter_anyone' => 'Jeder',
    'clear_filters' => 'Filter entfernen',
    'clear_filters_hint' => 'Alle Filter aufheben und alles anzeigen, auf das du Zugriff hast.',
    'inactive_cleanup_desc' => 'Nutzer, die sich seit der hier eingestellten Zeit nicht mehr eingeloggt haben, erhalten zunächst eine Warn-E-Mail. Loggt sich der Nutzer in der Frist nicht ein, wird das Konto endgültig gelöscht. Admin-Konten sind ausgenommen. Projekte, in denen der Nutzer der einzige Inhaber ist, werden mitgelöscht.',
    'inactive_cleanup_enable_label' => 'Aktivieren',
    'inactive_cleanup_threshold_label' => 'Inaktivität (Monate)',
    'inactive_cleanup_threshold_hint' => 'Default 12. Zwischen 1 und 120.',
    'inactive_cleanup_warning_label' => 'Vorwarnzeit (Tage)',
    'inactive_cleanup_warning_hint' => 'Default 14. Zwischen 1 und 90.',
    'inactive_cleanup_last_run' => 'Letzter Lauf am :when – :warned gewarnt, :deleted gelöscht.',
    'mail_inactive_warning_subject' => 'Dein Konto wird in :days Tagen gelöscht',
    'mail_inactive_warning_body' => 'Dein Konto war lange inaktiv. Wenn du dich nicht innerhalb von :days Tagen einloggst, wird das Konto und ggf. dazugehörige Projekte gelöscht.',
    'mail_inactive_warning_cta' => 'Jetzt einloggen',
    'mail_inactive_warning_footer' => 'Diese Mail kommt automatisch von Plenvo. Ein einfacher Login reicht aus, um die Löschung zu verhindern.',
    'ldap_settings_title' => 'LDAP / Active Directory',
    'ldap_settings_saved' => 'LDAP-Einstellungen gespeichert.',
    'ldap_extension_missing' => 'PHP-Erweiterung "ldap" fehlt. Plugin kann nicht authentifizieren, bis sie installiert und PHP-FPM neu gestartet wurde.',
    'ldap_section_general' => 'Verbindung',
    'ldap_section_service_account' => 'Service-Account',
    'ldap_section_filters' => 'Filter und Attribut-Mapping',
    'ldap_section_behaviour' => 'Verhalten',
    'ldap_section_ca' => 'CA-Zertifikat',
    'ldap_section_test' => 'Verbindung testen',
    'ldap_section_sync' => 'Synchronisierung',
    'ldap_enable' => 'LDAP-Anmeldung aktivieren',
    'ldap_enable_hint' => 'Wenn aktiv, werden Login-Versuche zuerst gegen das Verzeichnis geprüft. Lokale Konten bleiben funktionsfähig.',
    'ldap_transport' => 'Transport',
    'ldap_transport_ldaps' => 'LDAPS (TLS auf Port 636) – empfohlen',
    'ldap_transport_starttls' => 'LDAP + StartTLS (Port 389)',
    'ldap_transport_cleartext' => 'LDAP unverschlüsselt – nicht empfohlen',
    'ldap_transport_hint' => 'LDAPS oder StartTLS verschlüsseln Bind-Credentials und Passwörter. Cleartext überträgt sie offen über das Netzwerk.',
    'ldap_cleartext_ack' => 'Ich akzeptiere die Risiken einer unverschlüsselten LDAP-Verbindung.',
    'ldap_cleartext_ack_hint' => 'Pflicht-Bestätigung, wenn Sie Cleartext gewählt haben. Der Health-Check meldet diesen Zustand weiterhin als Sicherheitsproblem, sendet aber keine wiederholten E-Mail-Alarme.',
    'ldap_cleartext_must_ack' => 'Cleartext-Übertragung muss explizit per Häkchen bestätigt werden.',
    'ldap_invalid_transport' => 'Ungültiger Transport-Modus.',
    'ldap_invalid_port' => 'Port muss zwischen 1 und 65535 liegen.',
    'ldap_host' => 'Host',
    'ldap_port' => 'Port',
    'ldap_base_dn' => 'Base-DN',
    'ldap_bind_dn' => 'Bind-DN',
    'ldap_bind_dn_hint' => 'Service-Account, mit dem nach Nutzern gesucht wird. Leer lassen für anonymen Bind.',
    'ldap_bind_password' => 'Bind-Passwort',
    'ldap_bind_password_hint' => 'Wird verschlüsselt mit AES-256-GCM in der Datenbank gespeichert.',
    'ldap_bind_password_set_keep' => 'Vorhandenes Passwort beibehalten – leer lassen.',
    'ldap_user_filter' => 'User-Filter',
    'ldap_user_filter_hint' => 'LDAP-Filter zum Auffinden des Nutzers per Email. ":s" wird durch die LDAP-escapte Email ersetzt. Beispiel: (mail=%s) oder (userPrincipalName=%s).',
    'ldap_user_filter_needs_placeholder' => 'User-Filter muss "%s" als Platzhalter für die Email enthalten.',
    'ldap_active_filter' => 'Aktiv-Filter',
    'ldap_active_filter_hint' => 'Optional: zusätzlicher Filter, der deaktivierte oder gesperrte Verzeichnis-Nutzer ausschließt. AD-Beispiel: (!(userAccountControl:1.2.840.113556.1.4.803:=2))',
    'ldap_attr_username' => 'Username-Attribut',
    'ldap_attr_email' => 'Email-Attribut',
    'ldap_attr_groups' => 'Gruppen-Attribut',
    'ldap_admin_group_dn' => 'Admin-Gruppe (DN)',
    'ldap_admin_group_dn_hint' => 'Mitglieder dieser Gruppe erhalten bei jedem Login die Plenvo-Rolle "admin". Wer rausfliegt, fällt zurück auf "user".',
    'ldap_required_group_dn' => 'Pflicht-Gruppe (DN)',
    'ldap_required_group_dn_hint' => 'Optional: nur Mitglieder dieser Gruppe dürfen sich überhaupt anmelden. Leer lassen, um diese Einschränkung zu deaktivieren.',
    'ldap_tls_require_cert' => 'TLS-Zertifikat-Validierung',
    'ldap_tls_require_demand' => 'demand – Zertifikat erforderlich und gültig (empfohlen)',
    'ldap_tls_require_try' => 'try – validieren, bei Fehler fortfahren',
    'ldap_tls_require_allow' => 'allow – Validierungsfehler ignorieren',
    'ldap_tls_require_never' => 'never – keine Validierung',
    'ldap_tls_require_hint' => 'Self-signed Zertifikate funktionieren nur mit hochgeladenem CA-Zertifikat oder mit Validierung "allow"/"never". Letztere öffnen MITM-Angriffe.',
    'ldap_takeover_existing_users' => 'Bestehende lokale Konten beim ersten erfolgreichen LDAP-Bind übernehmen',
    'ldap_takeover_existing_users_hint' => 'Wenn aus, dürfen sich Nutzer mit lokalem Konto nicht über LDAP anmelden – das lokale Passwort bleibt aktiv. Wenn an, wird das Konto beim ersten LDAP-Login auf LDAP umgestellt; das lokale Passwort wird unbrauchbar.',
    'ldap_ca_active' => 'Aktives CA-Zertifikat',
    'ldap_ca_valid_until' => 'Gültig bis:',
    'ldap_ca_remove' => 'CA entfernen',
    'ldap_ca_none_hint' => 'Wenn der LDAP-Server ein eigenes oder firmen-internes Zertifikat nutzt, das System-CA-Bundle es aber nicht kennt, laden Sie hier das CA-Zertifikat im PEM-Format hoch.',
    'ldap_ca_upload' => 'CA-Zertifikat (PEM)',
    'ldap_ca_upload_hint' => 'Maximal 32 KB. Erlaubte Dateiendungen: .pem, .crt, .cer.',
    'ldap_ca_upload_btn' => 'CA hochladen',
    'ldap_ca_upload_missing' => 'Kein gültiger Datei-Upload.',
    'ldap_ca_too_large' => 'Datei zu groß (max. 32 KB).',
    'ldap_ca_not_pem' => 'Datei ist kein parsbares PEM-Zertifikat.',
    'ldap_ca_expired' => 'Zertifikat ist bereits abgelaufen.',
    'ldap_ca_write_failed' => 'Datei konnte nicht geschrieben werden – Berechtigungen prüfen.',
    'ldap_test_hint' => 'Probiert nur den Service-Account-Bind. Nutzer-Passwörter werden nicht angefasst.',
    'ldap_test_run' => 'Test ausführen',
    'ldap_test_not_configured' => 'LDAP ist noch nicht ausreichend konfiguriert (Host, Base-DN).',
    'ldap_test_connect_failed' => 'Verbindung oder TLS-Handshake fehlgeschlagen.',
    'ldap_test_anonymous_ok' => 'Anonymer Bind erfolgreich. (Kein Bind-DN gesetzt.)',
    'ldap_test_bind_ok' => 'Service-Account-Bind erfolgreich.',
    'ldap_test_bind_failed' => 'Service-Account-Bind fehlgeschlagen – DN oder Passwort prüfen.',
    'ldap_sync_last_run' => 'Letzte Synchronisierung',
    'ldap_sync_stats' => 'Geprüft: :n, deaktiviert: :d',
    'ldap_sync_never' => 'Synchronisierung ist noch nie gelaufen.',
    'ldap_sync_run_now' => 'Jetzt synchronisieren',
    'ldap_sync_done' => 'Synchronisierung fertig: :n geprüft, :d deaktiviert.',
    'ldap_sync_failed' => 'Synchronisierung fehlgeschlagen (:reason).',
    'mail_greeting' => 'Hallo :name,',
    'mail_open_task' => 'Aufgabe öffnen →',
    'mail_show_tasks' => 'Aufgaben anzeigen →',
    'mail_view_task' => 'Aufgabe ansehen',
    'mail_view_comment' => 'Kommentar ansehen →',
    'mail_personal_link' => 'Dieser Link ist persönlich und gibt Ihnen Zugang zu Ihren Aufgaben in diesem Projekt.',
    'mail_project_label' => 'Projekt: :name',
    'mail_assigned_subject' => 'Aufgabe zugewiesen – :task',
    'mail_assigned_body' => 'Ihnen wurde die Aufgabe :task im Projekt :project zugewiesen.',
    'mail_mgr_activity_subject' => 'Aktivität – :project',
    'mail_mgr_activity_body' => 'Aktivität im Projekt :project: :actor – :action. Aufgabe: :task',
    'mail_activity_inapp' => 'Aktivität: :task',
    'mail_task_done_subject' => 'Aufgabe abgeschlossen – :task',
    'mail_task_done_intro' => 'Die folgende Aufgabe wurde abgeschlossen:',
    'mail_task_done_by' => 'Abgeschlossen von: :actor',
    'mail_task_done_inapp' => 'Von: :actor | Projekt: :project',
    'mail_predec_subject' => 'Aufgabe kann begonnen werden – :task',
    'mail_predec_intro' => 'Alle Vorgängeraufgaben von :task im Projekt :project sind nun abgeschlossen.',
    'mail_predec_cta' => 'Sie können jetzt mit Ihrer Aufgabe beginnen.',
    'mail_predec_inapp' => 'Alle Vorgänger abgeschlossen | Projekt: :project',
    'mail_reminder_subject' => 'Erinnerung – :task',
    'mail_reminder_3days_body' => 'Erinnerung: Die Aufgabe :task im Projekt :project ist in 3 Tagen fällig.',
    'mail_reminder_3days_inapp' => 'Fällig in 3 Tagen: :task',
    'mail_comment_subject' => 'Neuer Kommentar – :task',
    'mail_comment_body_internal' => ':actor hat die Aufgabe :task im Projekt :project kommentiert.',
    'mail_comment_body_external' => 'Die Aufgabe :task im Projekt :project wurde kommentiert.',
    'mail_comment_inapp' => 'Von: :actor | Projekt: :project',
    'mail_change_subject' => 'Aufgabe geändert – :task',
    'mail_change_body' => 'Die Aufgabe :task im Projekt :project wurde geändert.',
    'mail_unassign_subject' => 'Von Aufgabe entfernt – :task',
    'mail_unassign_body' => 'Sie wurden von der Aufgabe :task im Projekt :project entfernt.',
    'mail_attachment_subject' => 'Neuer Anhang – :task',
    'mail_attachment_body' => 'Bei der Aufgabe :task im Projekt :project wurde ein neuer Anhang hochgeladen.',
    'mail_task_created_subject' => 'Neue Aufgabe – :task',
    'mail_task_created_intro' => 'Eine neue Aufgabe wurde im Projekt :project erstellt:',
    'mail_created_by' => 'Erstellt von: :actor',
    'mail_task_created_inapp' => 'Erstellt von: :actor | Projekt: :project',
    'mail_mention_subject' => 'Sie wurden erwähnt – :task',
    'mail_mention_body_internal' => ':actor hat Sie in einem Kommentar zur Aufgabe :task im Projekt :project erwähnt.',
    'mail_mention_body_external' => 'Sie wurden in einem Kommentar zur Aufgabe :task im Projekt :project erwähnt.',
    'mail_mention_inapp' => 'Von: :actor | Projekt: :project',
    'mail_dueday_subject' => 'Heute fällig – :task',
    'mail_dueday_body' => 'Erinnerung: Die Aufgabe :task im Projekt :project ist heute fällig.',
    'mail_overdue_subject' => 'Überfällige Aufgabe – :task',
    'mail_overdue_intro' => 'Die folgende Aufgabe ist überfällig:',
    'mail_overdue_due_was' => 'Fällig war: :date',
    'mail_overdue_inapp' => 'Fällig war: :date | Projekt: :project',
    'mail_startdate_subject' => 'Aufgabe kann begonnen werden – :task',
    'mail_startdate_body' => 'Die Aufgabe :task im Projekt :project startet heute. Sie können jetzt beginnen.',
    'mail_startdate_due_info' => 'Fällig: :date.',
    'mail_task_event_body' => ':actor :action:',
    'mail_admin_group_request_subject' => 'Gruppenanfrage von :user',
    'mail_admin_group_request_intro' => 'Ein Benutzer beantragt die Berechtigung, eigene Gruppen anlegen zu dürfen:',
    'mail_admin_label_username' => 'Benutzername',
    'mail_admin_label_email' => 'E-Mail',
    'mail_admin_label_time' => 'Zeitpunkt',
    'mail_admin_manage_requests' => 'Anfragen verwalten →',
    'mail_admin_new_reg_subject' => 'Neue Registrierung – :user',
    'mail_admin_new_reg_intro' => 'Ein neuer Benutzer hat sich registriert und wartet auf E-Mail-Bestätigung:',
    'mail_admin_open_users' => 'Benutzerverwaltung öffnen →',
    'mail_admin_new_reg_inapp' => 'Neue Registrierung: :user',
    'security_log_title' => 'Sicherheits-Log',
    'security_log_desc' => 'Sicherheitsrelevante Ereignisse (Logins, MFA, Admin-Aktionen, Plugin-/Update-Aktionen). Aufbewahrung: :days Tage. Anzeige der letzten 500 Einträge.',
    'security_log_filter_type' => 'Ereignistyp',
    'security_log_filter_severity' => 'Schweregrad',
    'security_log_filter_all' => 'Alle',
    'security_log_empty' => 'Noch keine sicherheitsrelevanten Ereignisse aufgezeichnet.',
    'security_log_col_time' => 'Zeitpunkt',
    'security_log_col_severity' => 'Stufe',
    'security_log_col_type' => 'Typ',
    'security_log_col_user' => 'Benutzer',
    'security_log_col_ip' => 'IP',
    'security_log_col_details' => 'Details',
    'security_log_filter_placeholder' => 'Filtern…',
    'security_log_filter_no_match' => 'Keine Einträge entsprechen den aktuellen Filtern.',
    'security_log_max_rows' => 'Anzeige limitiert auf 500 Einträge. Ältere Einträge werden gemäß Aufbewahrungsfrist automatisch entfernt.',
    'security_log_deleted_user' => 'gelöscht',
    'sec_seclog_title' => 'Sicherheits-Eventlog',
    'sec_seclog_retention' => 'Aufbewahrung (Tage)',
    'sec_seclog_retention_hint' => 'Tage, bevor Sicherheits-Events automatisch gelöscht werden. 0 = unbegrenzt aufbewahren.',
    'apply' => 'Anwenden',
    'reset' => 'Zurücksetzen',
    'mail_footer_auto_generated' => 'Diese E-Mail wurde automatisch generiert',
    'update_available_notif_title' => 'Plenvo :version verfügbar',
    'update_available_notif_msg' => 'Eine neue Version ist verfügbar. Jetzt in den Systemeinstellungen aktualisieren.',
    'plugin_activated_msg' => 'Plugin aktiviert.',
    'plugin_deactivated_msg' => 'Plugin deaktiviert.',
    'preferences_saved_msg' => 'Voreinstellungen gespeichert.',
    'project_status_added' => 'Status hinzugefügt',
    'project_status_deleted' => 'Status gelöscht',
    'project_label_added' => 'Label hinzugefügt',
    'project_label_deleted' => 'Label gelöscht',
    'ai_request_failed' => 'KI-Anfrage fehlgeschlagen. Bitte versuchen Sie es erneut.',
    'contact_admin_mail_title' => 'Neue Kontaktanfrage',
    'contact_admin_mail_footer' => 'Gesendet von IP :ip am :time',
    'notify_admins_new_registration_label' => 'Admins über neue Registrierungen benachrichtigen',
    'notify_admins_new_registration_hint' => 'Wenn aktiviert, erhalten Admins eine E-Mail und In-App-Benachrichtigung, sobald sich ein Nutzer registriert hat (vor E-Mail-Verifikation).',
    'unverified_user_max_hours_label' => 'Nicht verifizierte Konten löschen nach (Stunden)',
    'unverified_user_max_hours_hint' => 'Konten, die innerhalb dieser Zeitspanne nach Registrierung ihre E-Mail nicht bestätigt haben, werden vom Cron automatisch entfernt. 0 = nie löschen.',
    'timezone_label' => 'Zeitzone',
    'timezone_user_hint' => 'Lassen Sie das Feld leer, um die Standard-Zeitzone der Installation zu verwenden.',
    'timezone_inherit_default' => '— Systemstandard —',
    'app_default_timezone_label' => 'Standard-Zeitzone',
    'app_default_timezone_hint' => 'Wird verwendet, wenn ein Nutzer keine eigene Zeitzone gesetzt hat. Beeinflusst die Darstellung von Datum/Uhrzeit in E-Mails und in der UI.',
    'save_all_btn' => 'Alle Einstellungen speichern',
    'save_all_in_progress' => 'Speichere…',
    'save_all_success' => 'Alle Einstellungen gespeichert',
    'save_all_failed' => 'Speichern fehlgeschlagen — Seite neu laden und erneut versuchen',
    'toast_click_to_copy' => 'Klicken zum Kopieren',
    'toast_copied' => 'In Zwischenablage kopiert ✓',
    'toast_close' => 'Schließen',
    'hc_cron_title' => 'Health Check als Cron-Monitor',
    'hc_cron_desc' => 'Wenn aktiviert, prüft der Cron im konfigurierten Intervall alle Health-Checks. Bei einer Zustandsverschlechterung (OK → Warnung/Fehler oder Warnung → Fehler) geht eine E-Mail raus. Jeder Fehlerzustand wird nur einmal gemeldet, bis er sich verbessert oder löst.',
    'hc_cron_enable_label' => 'Cron-Monitor aktivieren',
    'hc_cron_interval_label' => 'Intervall (Minuten)',
    'hc_cron_interval_hint' => 'Mindestens 5, höchstens 1440 Minuten (24h).',
    'hc_cron_alert_email_label' => 'Alarm-E-Mail-Adresse(n)',
    'hc_cron_alert_email_hint' => 'Komma- oder Leerzeichengetrennt. Leer = an alle aktiven Admins.',
    'topbar_health_ok' => 'System gesund',
    'topbar_health_warn' => 'System: Warnungen',
    'topbar_health_error' => 'System: Fehler',
    'topbar_health_unknown' => 'System-Status unbekannt — Cron-Monitor noch nicht gelaufen',
    'mail_hc_alert_subject' => 'Health Check Alarm — :n Problem(e)',
    'mail_hc_alert_intro' => 'Bei der letzten Cron-Prüfung wurden neue Probleme festgestellt:',
    'mail_hc_resolved_subject' => 'Health Check — :n Problem(e) behoben',
    'mail_hc_resolved_intro' => 'Folgende zuvor gemeldete Probleme sind nun behoben:',
    'mail_hc_at' => 'Geprüft am :time',
    'hc_paths' => 'Sensible Pfade',
    'hc_paths_ok' => ':n Pfade nicht öffentlich erreichbar',
    'hc_paths_exposed' => 'Öffentlich erreichbar: :list',
    'hc_key_perms' => 'Schlüsseldatei-Rechte',
    'hc_key_missing' => 'data/app.key existiert noch nicht (wird beim ersten Verschlüsseln erzeugt)',
    'hc_key_ok' => '0600 (nur Eigentümer)',
    'hc_key_bad' => 'data/app.key hat Rechte :perms — sollte 0600 sein',
    'hc_db_perms' => 'DB-Datei-Rechte',
    'hc_db_missing' => 'data/database.sqlite existiert nicht',
    'hc_db_ok' => ':perms (nicht world-readable)',
    'hc_db_world_readable' => 'data/database.sqlite ist world-readable (:perms) — Datendiebstahl möglich',
    'hc_https' => 'HTTPS erzwungen',
    'hc_https_not_https' => 'app_url ist :url — sollte mit https:// beginnen',
    'hc_https_http_open' => 'http:// liefert 200 statt Redirect/Block — Anmeldedaten könnten unverschlüsselt übertragen werden',
    'hc_https_ok' => 'app_url verwendet https und http:// blockiert/redirectet',
    'hc_admin_mfa' => 'Admin-Konten mit 2FA',
    'hc_admin_mfa_ok' => 'Alle aktiven Admins haben mind. einen zweiten Faktor',
    'hc_admin_mfa_missing' => ':n Admin(s) ohne TOTP/Email-MFA/WebAuthn',
    'hc_admin_mfa_check_failed' => 'Prüfung fehlgeschlagen',
    'hc_php_config' => 'PHP-Konfiguration',
    'hc_php_config_ok' => 'PHP :v — display_errors/expose_php aus, session-Cookies HttpOnly',
    'hc_php_config_issues' => 'Empfohlene Werte verletzt: :list',
    'hc_php_config_cli_skip' => 'PHP :v — Werte werden ausschließlich gegen die Web-SAPI geprüft (Cron-Lauf übersprungen)',
    'hc_mail_heartbeat' => 'Mailversand aktiv',
    'hc_mail_heartbeat_disabled' => 'Benachrichtigungen sind deaktiviert',
    'hc_mail_heartbeat_unconfigured' => 'Kein Mail-Provider konfiguriert',
    'hc_mail_heartbeat_never' => 'Bisher keine erfolgreich versendete E-Mail registriert',
    'hc_mail_heartbeat_ok' => 'Letzter erfolgreicher Versand vor :h Stunde(n)',
    'hc_mail_heartbeat_stale' => 'Letzter erfolgreicher Versand vor :d Tagen — SMTP/Provider prüfen',
    'hc_disk' => 'Freier Festplattenspeicher',
    'hc_disk_unknown' => 'Konnte freien Speicher nicht ermitteln',
    'hc_disk_ok' => ':gb GB frei',
    'hc_disk_low' => 'Nur noch :gb GB frei (Schwellwert 15 GB) — Uploads/Backups gefährdet',
    'dl_bsi_hint' => 'Sicherheits- und BSI-Compliance-Bericht des Codes:',

    // Backup & Restore
    'backup_title' => 'Backup & Wiederherstellung',
    'backup_intro' => 'Lade ein vollständiges ZIP der Datenbank, des Verschlüsselungsschlüssels, aller Avatare und Anhänge herunter, oder spiele ein bestehendes Backup zurück.',
    'backup_download_title' => 'Backup erstellen',
    'backup_download_desc' => 'Das ZIP enthält die Datenbank, den AES-Schlüssel (TOTP-Secrets, LDAP-Bindepasswort), alle Avatare und Aufgaben-Anhänge sowie den Plugin-Status.',
    'backup_download_btn' => 'Backup erstellen und herunterladen',
    'backup_create_btn' => 'Backup erstellen',
    'backup_create_ok' => 'Backup erstellt: :filename — sichtbar in der Liste „Vorhandene Backups".',
    'backup_passphrase_optional' => 'Passphrase (optional, empfohlen)',
    'backup_passphrase_placeholder' => 'Mindestens 12 Zeichen',
    'backup_passphrase_hint' => 'Wenn gesetzt, wird das ZIP mit AES-256-GCM (PBKDF2-SHA256) verschlüsselt. Ohne Passphrase ist die Datei so wertvoll wie die Instanz selbst und sollte nur an einem geschützten Ort gespeichert werden.',
    'backup_passphrase_if_encrypted' => 'Passphrase (nur bei verschlüsseltem Backup)',
    'backup_restore_title' => 'Backup zurückspielen',
    'backup_restore_warn' => 'Achtung: Das Zurückspielen ersetzt die aktuelle Datenbank, Avatare und Anhänge vollständig. Die bisherigen Daten werden in `data/.restore-backup-<Zeitstempel>/` archiviert. Du wirst danach abgemeldet und musst dich mit den Zugangsdaten aus dem Backup neu anmelden.',
    'backup_restore_two_step_hint' => 'Beim Zurückspielen wird das Backup zunächst nur validiert. Im nächsten Schritt siehst du Quellversion, Inhalte und die im Backup hinterlegte Domain — die du übernehmen oder anpassen kannst, bevor das Backup eingespielt wird.',
    'backup_restore_validate_btn' => 'Backup prüfen',
    'backup_restore_confirm' => 'Backup wirklich zurückspielen? Aktuelle Daten werden ersetzt.',
    'backup_restore_file' => 'Backup-Datei',
    'backup_restore_file_hint' => '.zip oder .zip.enc, erstellt von dieser oder einer älteren Plenvo-Version.',
    'backup_restore_btn' => 'Backup zurückspielen',
    'backup_restore_success' => 'Backup zurückgespielt. Bitte erneut anmelden.',
    'backup_review_title' => 'Backup prüfen und einspielen',
    'backup_review_summary' => 'Inhalt des Backups',
    'backup_review_intro' => 'Das hochgeladene Backup wurde validiert, aber noch nicht eingespielt. Prüfe die folgenden Angaben und passe ggf. die App-URL an, bevor du das Einspielen bestätigst.',
    'backup_review_source_version' => 'Quellversion',
    'backup_review_source_app_name' => 'Anwendungsname im Backup',
    'backup_review_created' => 'Erstellt am',
    'backup_review_encrypted' => 'Verschlüsselt?',
    'backup_review_yes' => 'Ja',
    'backup_review_no' => 'Nein',
    'backup_review_counts' => 'Inhalte',
    'backup_review_target_url' => 'App-URL nach dem Einspielen',
    'backup_review_target_url_intro' => 'Im Backup ist eine App-URL hinterlegt. Beim Einspielen wird `settings.app_url` exakt mit dem Wert in diesem Feld überschrieben — passe ihn an, wenn diese Instanz unter einer anderen Domain läuft als die Quelle.',
    'backup_review_app_url_label' => 'App-URL',
    'backup_review_app_url_hint' => 'Volle URL inkl. Schema (https://). Leer lassen, um die URL automatisch aus dem Host-Header zu ermitteln.',
    'backup_review_url_change_warn' => 'Wichtig: Wenn du die URL gegenüber dem Backup änderst, müssen ggf. WebAuthn-Schlüssel (an die alte Domain gebunden) und OIDC-Provider-Konfigurationen (Redirect-URIs) bei den Identity-Providern manuell angepasst werden.',
    'backup_review_apply_confirm' => 'Backup jetzt einspielen? Aktuelle Daten werden durch den Backup-Inhalt ersetzt und du wirst abgemeldet.',
    'backup_review_apply_btn' => 'Backup jetzt einspielen',
    'backup_review_cancel_btn' => 'Abbrechen und Backup verwerfen',
    'backup_cancel_success' => 'Backup verworfen.',
    'backup_err_invalid_token' => 'Ungültiges Backup-Token. Bitte erneut hochladen.',
    'backup_err_staging_expired' => 'Vorbereitetes Backup ist abgelaufen oder wurde verworfen. Bitte erneut hochladen.',
    'backup_err_url_invalid' => 'App-URL muss mit http:// oder https:// beginnen und einen Hostnamen enthalten.',
    'backup_err_dotfile' => 'Backup enthält versteckte Dateien (Dotfiles), die auf eingespielten Instanzen Konfigurationsdateien überschreiben könnten.',
    'backup_err_in_progress' => 'Ein anderer Restore-Vorgang läuft gerade. Bitte kurz warten und erneut versuchen.',
    'backup_err_persist' => 'Backup konnte nicht im Backup-Verzeichnis gespeichert werden.',
    'backup_err_unknown_backup' => 'Backup-Datei nicht gefunden.',
    'backup_existing_title' => 'Vorhandene Backups',
    'backup_existing_intro' => 'Backups werden unter `data/backups/` gespeichert und können von hier heruntergeladen, eingespielt oder gelöscht werden.',
    'backup_existing_empty' => 'Es liegen aktuell keine Backups vor. Erstelle eines über den Button oben.',
    'backup_col_filename' => 'Dateiname',
    'backup_col_created' => 'Erstellt am',
    'backup_col_size' => 'Größe',
    'backup_col_encrypted' => 'Verschlüsselt',
    'backup_col_actions' => 'Aktionen',
    'backup_action_download' => 'Herunterladen',
    'backup_action_restore' => 'Einspielen',
    'backup_action_delete' => 'Löschen',
    'backup_action_delete_confirm' => 'Diese Backup-Datei dauerhaft löschen?',
    'backup_passphrase_short' => 'Passphrase',
    'backup_delete_ok' => 'Backup-Datei gelöscht.',
    'backup_retention_title' => 'Aufbewahrung',
    'backup_retention_label' => 'Backups löschen nach (Tage)',
    'backup_retention_hint' => '0 = nie automatisch löschen. Der Cron-Lauf entfernt einmal täglich Backups, die älter als die hier angegebene Anzahl Tage sind.',
    'backup_default_passphrase_title' => 'Standard-Passphrase',
    'backup_default_passphrase_intro' => 'Wenn gesetzt, werden alle neuen Backups automatisch mit dieser Passphrase verschlüsselt — du musst sie beim Erstellen oder Wiederherstellen nicht erneut eingeben. Status:',
    'backup_default_passphrase_state_set' => 'gesetzt',
    'backup_default_passphrase_state_unset' => 'nicht gesetzt',
    'backup_default_passphrase_label' => 'Neue Standard-Passphrase',
    'backup_default_passphrase_hint' => 'Mindestens 12 Zeichen. Wird AES-256-GCM-verschlüsselt in den Settings gespeichert. Ein leeres Feld lässt die bestehende Standard-Passphrase unverändert.',
    'backup_default_passphrase_clear_btn' => 'Standard-Passphrase entfernen',
    'backup_default_passphrase_rotation_note' => 'Hinweis: Wenn du die Passphrase ersetzt oder entfernst, lassen sich bestehende Backups nur noch durch manuelle Eingabe der ALTEN Passphrase im Restore-Dialog wiederherstellen. Bewahre die alte Passphrase auf, solange du sie noch einspielen können willst.',
    'backup_default_passphrase_clear_confirm' => 'Standard-Passphrase wirklich entfernen? Neu erstellte Backups sind danach unverschlüsselt. Bestehende Backups, die mit dieser Passphrase verschlüsselt wurden, lassen sich nur noch durch manuelle Eingabe der ALTEN Passphrase wiederherstellen — bewahre sie also auf, solange du noch alte Backups einspielen können willst.',
    'backup_passphrase_uses_default_hint' => 'Eine Standard-Passphrase ist hinterlegt — bei leerem Feld wird diese verwendet.',
    'backup_save_as_default_btn' => 'Als Standard speichern',
    'backup_save_as_default_hint' => 'Speichert die oben eingetragene Passphrase als Standard, ohne ein Backup zu erstellen.',
    'backup_save_as_default_confirm' => 'Diese Passphrase als Standard für alle künftigen Backups speichern?',
    'backup_default_passphrase_badge' => 'Standard-Passphrase aktiv',
    'backup_default_passphrase_active_hint' => 'Eine Standard-Passphrase ist hinterlegt und wird automatisch verwendet, wenn beim Erstellen oder Wiederherstellen kein Passwort eingegeben wird.',
    'backup_default_passphrase_active_inline' => 'Standard hinterlegt',
    'backup_download_uses_default_hint' => 'Das Backup wird automatisch mit der oben hinterlegten Standard-Passphrase verschlüsselt.',
    'backup_download_unencrypted_warning' => 'Hinweis: Es ist keine Standard-Passphrase gesetzt — das Backup wird unverschlüsselt erstellt. Setze oben eine Passphrase, damit Backup-Dateien geschützt sind.',
    'backup_auto_title' => 'Automatische Backups',
    'backup_auto_intro' => 'Lasse Plenvo regelmäßig per Cron Backups erstellen. Es wird die oben hinterlegte Standard-Passphrase verwendet (oder ein unverschlüsseltes Backup, falls keine gesetzt ist). Das Aufräumen alter Auto-Backups übernimmt die Aufbewahrungseinstellung weiter unten.',
    'backup_auto_enable' => 'Automatische Backups aktivieren',
    'backup_auto_frequency_label' => 'Häufigkeit',
    'backup_auto_freq_daily' => 'Täglich',
    'backup_auto_freq_weekly' => 'Wöchentlich',
    'backup_auto_freq_monthly' => 'Monatlich',
    'backup_auto_time_label' => 'Uhrzeit (Slot)',
    'backup_auto_time_hint' => 'Der Cron darf bis zu 240 Minuten nach dem Slot ausgeführt werden.',
    'backup_auto_weekday_label' => 'Wochentag',
    'backup_auto_dom_label' => 'Tag im Monat',
    'backup_auto_dom_hint' => '1–28 (kein 29./30./31. — vermeidet Probleme im Februar).',
    'backup_auto_last_run' => 'Letzter Auto-Backup-Lauf',
    'backup_auto_last_error' => 'Letzter Fehler',
    'day_sun' => 'Sonntag',
    'day_mon' => 'Montag',
    'day_tue' => 'Dienstag',
    'day_wed' => 'Mittwoch',
    'day_thu' => 'Donnerstag',
    'day_fri' => 'Freitag',
    'day_sat' => 'Samstag',
    'backup_passphrase_too_short' => 'Standard-Passphrase muss mindestens 12 Zeichen haben.',
    'backup_passphrase_saved_ok' => 'Standard-Passphrase gespeichert.',
    'backup_passphrase_cleared_ok' => 'Standard-Passphrase entfernt.',
    'backup_err_generic' => 'Backup-Vorgang fehlgeschlagen.',
    'backup_err_no_zip_ext' => 'PHP-Erweiterung "zip" wird benötigt.',
    'backup_err_tmp' => 'Temporäre Datei konnte nicht angelegt werden.',
    'backup_err_snapshot' => 'Datenbank-Snapshot fehlgeschlagen.',
    'backup_err_zip_open' => 'ZIP-Archiv konnte nicht geöffnet werden.',
    'backup_err_encrypt' => 'Verschlüsselung des Backups fehlgeschlagen.',
    'backup_err_decrypt' => 'Entschlüsselung fehlgeschlagen — falsche Passphrase oder beschädigte Datei.',
    'backup_err_pass_required' => 'Diese Datei ist verschlüsselt — bitte Passphrase angeben.',
    'backup_err_invalid_zip' => 'Datei ist kein gültiges ZIP.',
    'backup_err_invalid_manifest' => 'Manifest fehlt oder hat ein unbekanntes Format.',
    'backup_err_newer_version' => 'Backup stammt aus einer neueren Plenvo-Version. Bitte erst die Anwendung aktualisieren.',
    'backup_err_missing_db' => 'Backup enthält keine database.sqlite.',
    'backup_err_path_traversal' => 'Backup enthält ungültige Pfadangaben.',
    'backup_err_unknown_path' => 'Backup enthält Dateien an unerwarteter Stelle.',
    'backup_err_backup_dir' => 'Sicherungs-Verzeichnis konnte nicht angelegt werden.',
    'backup_err_extract' => 'Entpacken des Backups fehlgeschlagen — alter Zustand wurde wiederhergestellt.',
    'backup_err_upload' => 'Datei-Upload fehlgeschlagen.',
    'backup_err_too_large' => 'Datei zu groß (Limit 512 MB).',
    'backup_err_default_passphrase_unreadable' => 'Die hinterlegte Standard-Passphrase konnte nicht entschlüsselt werden — wahrscheinlich wurde der app.key zwischenzeitlich rotiert. Aktion abgebrochen, um kein unbeabsichtigt unverschlüsseltes Backup zu erzeugen. Standard-Passphrase neu setzen oder entfernen.',

    // ── Terminfindung (meetingpoll plugin) ──────────────────────────────────
    'mp_plugin_desc'        => 'Terminumfragen mit mehreren Optionen: mehrere Termin-Optionen vorschlagen, Freigabe-Link teilen, Teilnehmer stimmen ohne Login ab.',
    'mp_nav'                => 'Terminfindung',
    'mp_new_poll'           => 'Neue Terminumfrage',
    'mp_list_intro'         => 'Schlage mehrere Termine vor und teile den Link – Teilnehmer stimmen ohne Konto ab.',
    'mp_no_polls'           => 'Du hast noch keine Terminumfragen erstellt.',
    'mp_col_title'          => 'Titel',
    'mp_col_options'        => 'Optionen',
    'mp_col_responses'      => 'Antworten',
    'mp_col_status'         => 'Status',
    'mp_status_open'        => 'Offen',
    'mp_status_closed'      => 'Geschlossen',
    'mp_status_finalized'   => 'Festgelegt',
    'mp_create_title'       => 'Terminumfrage erstellen',
    'mp_edit_title'         => 'Terminumfrage bearbeiten',
    'mp_field_title'        => 'Titel',
    'mp_field_title_ph'     => 'z. B. Team-Meeting im Mai',
    'mp_field_desc'         => 'Beschreibung',
    'mp_field_desc_ph'      => 'Worum geht es? (optional)',
    'mp_field_location'     => 'Ort',
    'mp_field_location_ph'  => 'z. B. Besprechungsraum 2 oder Videokonferenz (optional)',
    'mp_field_deadline'     => 'Frist',
    'mp_field_deadline_hint'=> 'Nach diesem Zeitpunkt sind keine Antworten mehr möglich (optional).',
    'mp_field_options'      => 'Termin-Optionen',
    'mp_opt_date'           => 'Datum',
    'mp_opt_start'          => 'Von',
    'mp_opt_end'            => 'Bis',
    'mp_add_option'         => 'Option hinzufügen',
    'mp_cal_hint'           => 'Klicke im Kalender auf die Tage, die du als Termin-Option anbieten möchtest. Erneutes Klicken entfernt einen Tag wieder.',
    'mp_no_dates'           => 'Noch keine Tage ausgewählt.',
    'mp_cal_nojs'           => 'Für die Terminauswahl wird JavaScript benötigt.',
    'mp_default_time'       => 'Standard-Uhrzeit für neue Tage:',
    'mp_duration'           => 'Dauer:',
    'mp_dur_none'           => 'Ohne Endzeit',
    'mp_apply_to_all'       => 'Auf alle übernehmen',
    'mp_edit_time'          => 'Uhrzeit ändern',
    'mp_invite_title'       => 'Teilnehmer einladen',
    'mp_invite_hint'        => 'Lade Plenvo-Nutzer über die Suche ein oder gib externe E-Mail-Adressen an. Alle erhalten den Umfrage-Link per E-Mail.',
    'mp_invite_users_label' => 'Plenvo-Nutzer',
    'mp_invite_search_ph'   => 'Nach Name oder E-Mail suchen …',
    'mp_invite_emails_label'=> 'Externe E-Mail-Adressen',
    'mp_invite_emails_ph'   => 'max@example.com, anna@example.com … (durch Komma oder Zeilenumbruch getrennt)',
    'mp_invite_send'        => 'Einladungen senden',
    'mp_invited_people'     => 'Eingeladen',
    'mp_invite_pending'     => 'Ausstehend',
    'mp_invite_responded'   => 'Geantwortet',
    'mp_invite_resend'      => 'Erneut senden',
    'mp_invite_remove'      => 'Aus Liste entfernen',
    'mp_invite_remove_confirm' => 'Diese Einladung aus der Liste entfernen?',
    'mp_invite_sent'        => ':count Einladung(en) gesendet.',
    'mp_invite_resent'      => 'Einladung erneut gesendet.',
    'mp_invite_removed'     => 'Einladung entfernt.',
    'mp_invite_recently_sent' => 'Diese Einladung wurde gerade erst gesendet. Bitte einen Moment warten.',
    'mp_mail_invite_subject'=> 'Einladung zur Terminumfrage: :title',
    'mp_mail_invite_body'   => 'Du wurdest eingeladen, bei der Terminumfrage „:title" abzustimmen. Bitte wähle die Termine aus, die dir passen:',
    'mp_opt_hint'           => 'Uhrzeit leer lassen für einen ganztägigen Termin. Mindestens eine Option ist erforderlich.',
    'mp_field_allow_maybe'  => '„Wenn nötig"-Option erlauben (Teilnehmer können „vielleicht" wählen)',
    'mp_field_hide_results' => 'Versteckte Umfrage: Teilnehmer sehen die Antworten der anderen nicht',
    'mp_field_notify_owner' => 'E-Mail an mich bei jeder neuen Antwort',
    'mp_create_submit'      => 'Umfrage erstellen',
    'mp_created'            => 'Terminumfrage erstellt.',
    'mp_saved'              => 'Änderungen gespeichert.',
    'mp_deleted'            => 'Terminumfrage gelöscht.',
    'mp_confirm_delete_poll'    => 'Diese Terminumfrage und alle Antworten wirklich löschen?',
    'mp_confirm_delete_response'=> 'Diese Antwort wirklich löschen?',
    'mp_delete_response'    => 'Antwort löschen',
    'mp_response_deleted'   => 'Antwort gelöscht.',
    'mp_share_link'         => 'Freigabe-Link',
    'mp_copy_link'          => 'Link kopieren',
    'mp_copied'             => 'Kopiert!',
    'mp_open_link'          => 'Öffnen',
    'mp_share_hint'         => 'Teile diesen Link mit allen Teilnehmern – ein Konto ist nicht nötig.',
    'mp_manage_poll'        => 'Umfrage verwalten',
    'mp_meta_responses'     => ':count Antwort(en)',
    'mp_meta_deadline'      => 'Frist: :date',
    'mp_meta_hidden'        => 'Versteckte Umfrage',
    'mp_deadline_passed'    => 'Die Frist ist am :date abgelaufen – es sind keine weiteren Antworten mehr möglich.',
    'mp_voting_closed'      => 'Diese Umfrage ist geschlossen – Abstimmen ist nicht mehr möglich.',
    'mp_no_options_yet'     => 'Für diese Umfrage wurden noch keine Termin-Optionen angelegt.',
    'mp_participant'        => 'Teilnehmer',
    'mp_all_day'            => 'ganztägig',
    'mp_no_responses'       => 'Noch keine Antworten.',
    'mp_total'              => 'Gesamt',
    'mp_results'            => 'Ergebnisse',
    'mp_finalize_title'     => 'Termin festlegen',
    'mp_finalize_hint'      => 'Wähle den endgültigen Termin. Du kannst die Auswahl später wieder aufheben.',
    'mp_finalize_choose'    => 'Termin wählen …',
    'mp_finalize_notify'    => 'Teilnehmer per E-Mail benachrichtigen',
    'mp_finalize_submit'    => 'Termin festlegen',
    'mp_finalized'          => 'Termin festgelegt.',
    'mp_finalized_to'       => 'Festgelegter Termin',
    'mp_reopen'             => 'Festlegung aufheben',
    'mp_reopened'           => 'Festlegung aufgehoben.',
    'mp_your_response'      => 'Deine Antwort',
    'mp_edit_your_response' => 'Deine Antwort bearbeiten',
    'mp_voting_as'          => 'Du stimmst als :name ab.',
    'mp_your_name'          => 'Dein Name',
    'mp_your_email'         => 'E-Mail',
    'mp_email_ph'           => 'für eine Benachrichtigung, wenn der Termin feststeht (optional)',
    'mp_email_from_invite'  => 'Diese Adresse stammt aus deiner Einladung und ist deshalb fest vorgegeben.',
    'mp_yes'                => 'Ja',
    'mp_maybe'              => 'Wenn nötig',
    'mp_no'                 => 'Nein',
    'mp_comment'            => 'Kommentar',
    'mp_comment_ph'         => 'optional',
    'mp_submit_response'    => 'Antwort speichern',
    'mp_update_response'    => 'Antwort aktualisieren',
    'mp_vote_saved'         => 'Danke! Deine Antwort wurde gespeichert.',
    'mp_organized_by'       => 'Organisiert von :name',
    'mp_location'           => 'Ort',
    'mp_poll_not_found'     => 'Diese Terminumfrage existiert nicht (mehr).',
    'mp_err_title_required' => 'Bitte gib einen Titel an.',
    'mp_err_title_long'     => 'Der Titel ist zu lang.',
    'mp_err_desc_long'      => 'Die Beschreibung ist zu lang.',
    'mp_err_loc_long'       => 'Die Ortsangabe ist zu lang.',
    'mp_err_no_options'     => 'Bitte gib mindestens eine gültige Termin-Option an.',
    'mp_err_too_many_options'=> 'Zu viele Termin-Optionen.',
    'mp_err_deadline'       => 'Die Frist ist kein gültiges Datum.',
    'mp_err_option'         => 'Ungültige Termin-Option.',
    'mp_err_closed'         => 'Diese Umfrage ist geschlossen.',
    'mp_err_full'           => 'Diese Umfrage hat die maximale Anzahl an Antworten erreicht.',
    'mp_err_no_recipients'  => 'Keine gültigen Empfänger angegeben.',
    'mp_err_invite_cap'     => 'Diese Umfrage hat das Maximum von :max Einladungen erreicht.',
    'mp_err_name_required'  => 'Bitte gib deinen Namen an.',
    'mp_err_email'          => 'Bitte gib eine gültige E-Mail-Adresse an.',
    'mp_err_rate_limited'   => 'Zu viele Antworten in kurzer Zeit. Bitte versuche es gleich noch einmal.',
    'mp_wd_0'               => 'So.',
    'mp_wd_1'               => 'Mo.',
    'mp_wd_2'               => 'Di.',
    'mp_wd_3'               => 'Mi.',
    'mp_wd_4'               => 'Do.',
    'mp_wd_5'               => 'Fr.',
    'mp_wd_6'               => 'Sa.',
    'mp_mail_greeting'      => 'Hallo :name,',
    'mp_mail_new_response_subject' => 'Neue Antwort auf deine Terminumfrage: :title',
    'mp_mail_new_response_body'    => ':name hat auf deine Terminumfrage „:title" geantwortet.',
    'mp_mail_view_results'  => 'Ergebnisse ansehen',
    'mp_mail_finalized_subject'    => 'Termin steht fest: :title',
    'mp_mail_finalized_body'       => 'Für „:title" wurde folgender Termin festgelegt:',
    'mp_mail_open_poll'     => 'Zur Terminumfrage',
];
