clusev/lang/de/auth.php

130 lines
8.1 KiB
PHP

<?php
// Auth feature strings (login, password change, 2FA challenge + setup, auth brand panel).
// Shared actions/status live in common.php (R16). de = original German verbatim.
return [
// ── Login ────────────────────────────────────────────────────────────
'control_plane' => 'Control Plane',
'login_heading' => 'Anmelden',
'login_subtitle' => 'Zugang zum Clusev-Panel.',
'email' => 'E-Mail',
'password' => 'Passwort',
'toggle_password' => 'Passwort anzeigen',
'hide_password' => 'Passwort verbergen',
'remember_me' => 'Angemeldet bleiben',
'login_submit' => 'Anmelden',
'checking' => 'Prüfe…',
'secured' => 'Gesichert',
'security_note' => 'Verbindung über SSH · 2FA erforderlich · jede Aktion landet im Audit-Log.',
// ── Password change ──────────────────────────────────────────────────
'security' => 'Sicherheit',
'password_change_heading' => 'Passwort ändern',
'password_change_subtitle' => 'Lege ein eigenes Passwort fest (min. 12 Zeichen, Groß-/Kleinschreibung + Zahl).',
'current_password' => 'Aktuelles Passwort',
'new_password' => 'Neues Passwort',
'confirm_new_password' => 'Neues Passwort bestätigen',
'save_and_continue' => 'Speichern & weiter',
'saving' => 'Speichere…',
// ── Two-factor (shared label) ────────────────────────────────────────
'two_factor' => 'Zwei-Faktor',
// ── 2FA challenge ────────────────────────────────────────────────────
'challenge_heading' => 'Bestätigung',
'challenge_subtitle' => '6-stelliger Code aus deiner Authenticator-App.',
'code' => 'Code',
'challenge_use_backup' => 'Backup-Code verwenden',
'backup_heading' => 'Backup-Codes',
'backup_subtitle' => 'Gib einen Backup-Code ein, um fortzufahren.',
'back_to_options' => 'Zurück zu Anmelde-Optionen',
'back_to_login' => 'Zurück zur Anmeldung',
// ── 2FA setup ────────────────────────────────────────────────────────
'setup_heading' => 'Einrichten',
'setup_subtitle' => 'Scanne den Code mit einer Authenticator-App (Aegis, Google Authenticator, …) und bestätige mit einem Code.',
'qr_alt' => '2FA-QR-Code',
'secret_manual' => 'Geheimnis (manuell)',
'confirmation_code' => 'Bestätigungs-Code',
'activate' => 'Aktivieren',
// ── Brand panel (auth layout) ────────────────────────────────────────
'brand_headline_lead' => 'Eine Konsole für deine',
'brand_headline_accent' => 'gesamte Flotte',
'brand_tagline' => 'Agentenlos über SSH. Metriken, Dienste, Dateien und ein lückenloses Audit-Log — sicher aus einem Panel gesteuert.',
'terminal_title' => 'clusev · sicherheitsmodell',
'terminal_ssh' => 'agentenlos · exec + SFTP über phpseclib',
'terminal_key' => 'Host-Keys via TOFU gepinnt',
'terminal_2fa' => 'erzwungen für jeden Login',
'terminal_log' => 'jede Aktion im Audit-Log',
'terminal_core' => 'Open Core · AGPL-lizenziert',
'footer_copyright' => '© :year Clusev · Fleet Control',
'footer_operational' => 'betriebsbereit',
// ── Page titles ──────────────────────────────────────────────────────
'title_login' => 'Anmelden — Clusev',
'title_password_change' => 'Passwort ändern — Clusev',
'title_challenge' => 'Bestätigung — Clusev',
'title_backup' => 'Backup-Code — Clusev',
'title_setup' => '2FA einrichten — Clusev',
// ── Validation / error messages ──────────────────────────────────────
'too_many_attempts' => 'Zu viele Versuche. Bitte in :seconds Sekunden erneut versuchen.',
'invalid_credentials' => 'Diese Zugangsdaten passen nicht.',
'session_expired' => 'Sitzung abgelaufen. Bitte erneut anmelden.',
'invalid_code' => 'Ungültiger Code.',
'code_mismatch' => 'Code stimmt nicht — prüfe die Uhrzeit der Authenticator-App.',
// ── Validation attribute names ───────────────────────────────────────
'attr_current_password' => 'aktuelles Passwort',
'attr_new_password' => 'neues Passwort',
// ── 2FA backup (recovery) codes ──────────────────────────────────────
'challenge_key_subtitle' => 'Bestätige mit deinem Security-Key oder einem Backup-Code.',
'challenge_backup_label' => 'Backup-Code',
'challenge_backup_placeholder' => 'xxxxxxxxxx-xxxxxxxxxx',
'recovery_heading' => 'Backup-Codes',
'recovery_subtitle' => 'Mit diesen Einmal-Codes meldest du dich an, wenn du keinen Authenticator hast.',
'recovery_warning' => 'Speichere diese Codes jetzt sicher ab — jeder Code funktioniert genau einmal. Lade sie herunter, solange sie angezeigt werden.',
'recovery_download' => 'Als Datei herunterladen',
'recovery_regenerate' => 'Neu erzeugen',
'recovery_regenerate_confirm' => 'Neue Codes erzeugen? Die alten werden ungültig.',
'recovery_regenerated' => 'Neue Backup-Codes erzeugt.',
'recovery_done' => 'Gespeichert — weiter',
'recovery_manage' => 'Backup-Codes verwalten',
'recovery_hidden_notice' => 'Aus Sicherheitsgründen werden Backup-Codes nur einmal bei der Erstellung angezeigt. Erzeuge einen neuen Satz, um ihn zu sehen — die alten werden dabei ungültig.',
// ── Forgot / reset password ──────────────────────────────────────────
'title_forgot' => 'Passwort vergessen — Clusev',
'forgot_link' => 'Passwort vergessen?',
'forgot_heading' => 'Passwort zurücksetzen',
'forgot_subtitle' => 'Setze dein Passwort mit deinem 2FA-Code oder einem Backup-Code zurück.',
'forgot_subtitle_mail' => 'Wir senden dir einen Reset-Link (15 Minuten gültig).',
'forgot_code' => '2FA-Code oder Backup-Code',
'forgot_code_hint' => '6-stelliger Authenticator-Code oder einer deiner Backup-Codes.',
'forgot_submit' => 'Passwort zurücksetzen',
'forgot_send_email' => 'Reset-Link senden',
'forgot_use_code_toggle' => 'Kein E-Mail-Zugang? Mit 2FA-Code zurücksetzen',
'reset_invalid' => 'E-Mail oder Code ungültig.',
'reset_done' => 'Passwort geändert. Bitte neu anmelden.',
'reset_link_sent' => 'Falls die E-Mail existiert, wurde ein Reset-Link versendet.',
'reset_token_invalid' => 'Reset-Link ungültig oder abgelaufen.',
// ── WebAuthn / Security-Keys ─────────────────────────────────────────
'webauthn_login' => 'Mit Security-Key anmelden',
'webauthn_failed' => 'Security-Key konnte nicht bestätigt werden.',
'webauthn_title' => 'Security-Keys',
'webauthn_subtitle' => 'Hardware-Schlüssel (z. B. YubiKey) — als alleiniger Faktor, mit TOTP oder beides.',
'webauthn_unavailable' => 'Security-Keys sind nur verfügbar, wenn das Panel unter einer Domain mit HTTPS läuft.',
'webauthn_name' => 'Bezeichnung',
'webauthn_name_placeholder' => 'z. B. YubiKey 5C',
'webauthn_add' => 'Security-Key hinzufügen',
'webauthn_added' => 'Security-Key hinzugefügt.',
'webauthn_removed' => 'Security-Key entfernt.',
'webauthn_none' => 'Noch kein Security-Key registriert.',
'webauthn_added_on' => 'Hinzugefügt :date',
'webauthn_last_used' => 'Zuletzt verwendet :date',
'webauthn_never_used' => 'Noch nicht verwendet',
'webauthn_remove_confirm' => 'Diesen Security-Key entfernen?',
];