<?php
/**
 * ITSWEBER CMS – German System Messages
 */
return [
    // Success messages
    'created' => ':item erfolgreich erstellt.',
    'updated' => ':item erfolgreich aktualisiert.',
    'deleted' => ':item erfolgreich gelöscht.',
    'saved' => 'Änderungen gespeichert.',
    'activated' => ':item aktiviert.',
    'deactivated' => ':item deaktiviert.',

    // Error messages
    'not_found' => ':item nicht gefunden.',
    'create_failed' => ':item konnte nicht erstellt werden.',
    'update_failed' => ':item konnte nicht aktualisiert werden.',
    'delete_failed' => ':item konnte nicht gelöscht werden.',
    'generic_error' => 'Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.',
    'permission_denied' => 'Zugriff verweigert.',

    // Validation
    'field_required' => 'Dieses Feld ist erforderlich.',
    'all_required' => 'Alle Felder sind erforderlich.',
    'invalid_email' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
    'password_min' => 'Das Passwort muss mindestens :min Zeichen lang sein.',
    'password_mismatch' => 'Die Passwörter stimmen nicht überein.',
    'username_taken' => 'Dieser Benutzername ist bereits vergeben.',
    'email_taken' => 'Diese E-Mail-Adresse wird bereits verwendet.',
    'username_format' => 'Benutzername darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.',
    'invalid_credentials' => 'Ungültige Anmeldedaten.',

    // Auth messages
    'login_error' => 'Ungültige Anmeldedaten.',
    'login_locked' => 'Zu viele fehlgeschlagene Anmeldeversuche. Bitte warten Sie :minutes Minute(n).',
    'reset_sent' => 'Falls ein Konto mit dieser E-Mail-Adresse existiert, wurde ein Reset-Link gesendet.',
    'reset_success' => 'Passwort erfolgreich geändert. Sie können sich jetzt anmelden.',
    'reset_error' => 'Passwort konnte nicht zurückgesetzt werden.',
    'reset_invalid_token' => 'Ungültiger oder abgelaufener Reset-Link.',

    // User messages
    'user_created' => 'Benutzer „:name" erfolgreich erstellt.',
    'user_updated' => 'Benutzer „:name" erfolgreich aktualisiert.',
    'user_deleted' => 'Benutzer erfolgreich gelöscht.',
    'cannot_delete_self' => 'Sie können Ihr eigenes Konto nicht löschen.',
    'cannot_deactivate_self' => 'Sie können Ihr eigenes Konto nicht deaktivieren.',

    // Page messages
    'page_created' => 'Seite „:title" erfolgreich erstellt.',
    'page_updated' => 'Seite „:title" erfolgreich aktualisiert.',
    'page_deleted' => 'Seite erfolgreich gelöscht.',
    'page_duplicated' => 'Seite erfolgreich dupliziert.',
    'system_page_delete_error' => 'Systemseiten können nicht gelöscht werden.',

    // Blog messages
    'post_created' => 'Beitrag „:title" erfolgreich erstellt.',
    'post_updated' => 'Beitrag „:title" erfolgreich aktualisiert.',
    'post_deleted' => 'Beitrag erfolgreich gelöscht.',
    'post_duplicated' => 'Beitrag erfolgreich dupliziert.',
    'category_created' => 'Kategorie erfolgreich erstellt.',
    'category_updated' => 'Kategorie erfolgreich aktualisiert.',
    'category_deleted' => 'Kategorie erfolgreich gelöscht.',
    'tag_deleted' => 'Schlagwort erfolgreich gelöscht.',

    // Gallery messages
    'album_created' => 'Album „:title" erfolgreich erstellt.',
    'album_updated' => 'Album „:title" erfolgreich aktualisiert.',
    'album_deleted' => 'Album erfolgreich gelöscht.',
    'image_uploaded' => 'Bild erfolgreich hochgeladen.',
    'image_deleted' => 'Bild erfolgreich gelöscht.',
    'images_added' => ':count Bild(er) zum Album hinzugefügt.',

    // Event messages
    'event_created' => 'Event „:title" erfolgreich erstellt.',
    'event_updated' => 'Event „:title" erfolgreich aktualisiert.',
    'event_deleted' => 'Event erfolgreich gelöscht.',

    // Download messages
    'download_created' => 'Download „:title" erfolgreich erstellt.',
    'download_updated' => 'Download „:title" erfolgreich aktualisiert.',
    'download_deleted' => 'Download erfolgreich gelöscht.',

    // Media messages
    'file_uploaded' => 'Datei erfolgreich hochgeladen.',
    'file_updated' => 'Datei erfolgreich aktualisiert.',
    'file_deleted' => 'Datei erfolgreich gelöscht.',
    'folder_created' => 'Ordner erfolgreich erstellt.',
    'folder_renamed' => 'Ordner erfolgreich umbenannt.',
    'folder_deleted' => 'Ordner erfolgreich gelöscht.',

    // Menu messages
    'menu_item_added' => 'Menüeintrag hinzugefügt.',
    'menu_item_updated' => 'Menüeintrag aktualisiert.',
    'menu_item_deleted' => 'Menüeintrag gelöscht.',
    'menu_reordered' => 'Menüreihenfolge aktualisiert.',

    // Settings messages
    'settings_saved' => 'Einstellungen gespeichert.',
    'language_changed' => 'Sprache geändert.',
    'cache_cleared' => 'Seiten-Cache geleert (:count Dateien entfernt).',
    'totp_invalid' => 'Ungültiger Authentifizierungscode. Bitte versuche es erneut.',
    'totp_enabled' => 'Zwei-Faktor-Authentifizierung wurde aktiviert.',
    'totp_disabled' => 'Zwei-Faktor-Authentifizierung wurde deaktiviert.',
    'totp_setup_incomplete' => 'Bitte gib den Schlüssel und den Bestätigungscode ein.',
    'totp_codes_regenerated' => 'Wiederherstellungscodes wurden neu generiert.',

    // Theme messages
    'theme_activated' => 'Theme „:name" aktiviert.',
    'theme_installed' => 'Theme „:name" erfolgreich installiert.',
    'theme_uninstalled' => 'Theme erfolgreich deinstalliert.',

    // Plugin messages
    'plugin_activated' => 'Plugin „:name" aktiviert.',
    'plugin_deactivated' => 'Plugin „:name" deaktiviert.',
    'plugin_installed' => 'Plugin „:name" erfolgreich installiert.',
    'plugin_uninstalled' => 'Plugin erfolgreich deinstalliert.',

    // Maintenance
    'maintenance_enabled' => 'Wartungsmodus aktiviert.',
    'maintenance_disabled' => 'Wartungsmodus deaktiviert.',
    'maintenance_updated' => 'Wartungskonfiguration aktualisiert.',

    // Backup & Restore
    'backup_created' => 'Backup erfolgreich erstellt.',
    'backup_restored' => 'Backup erfolgreich wiederhergestellt.',
    'update_applied' => 'Update erfolgreich eingespielt.',
    'backup_select_file' => 'Bitte wählen Sie eine Backup-Datei aus.',
    'update_select_file' => 'Bitte wählen Sie eine Update-Datei aus.',
    'only_zip_allowed' => 'Nur ZIP-Dateien werden akzeptiert. Die hochgeladene Datei hat die Endung „.:ext".',
    'backup_save_failed' => 'Die Backup-Datei konnte nicht gespeichert werden. Bitte Schreibrechte auf storage/temp/ prüfen.',
    'update_save_failed' => 'Die Update-Datei konnte nicht gespeichert werden. Bitte Schreibrechte auf storage/temp/ prüfen.',
    'backup_invalid' => 'Ungültige Backup-Datei: :error',
    'update_invalid' => 'Ungültiges Update-Paket: :error',
    'update_preflight_failed' => 'Update-Paket besteht den Preflight-Check nicht: :errors',
    'restore_no_session' => 'Keine gültige Backup-Sitzung gefunden. Bitte erneut hochladen.',
    'update_no_session' => 'Keine gültige Update-Sitzung gefunden. Bitte erneut hochladen.',
    'restore_failed' => 'Wiederherstellung fehlgeschlagen: :error',
    'restore_success' => 'Wiederherstellung erfolgreich abgeschlossen. Die Website zeigt jetzt den Stand des Backups.',
    'update_failed' => 'Update fehlgeschlagen: :error',
    'update_success' => 'Update erfolgreich eingespielt. Neue Version: :version. Bitte den Browser-Cache leeren (Strg+F5).',
    'upload_err_ini_size' => 'Die Datei überschreitet die in php.ini festgelegte Maximalgröße (upload_max_filesize).',
    'upload_err_form_size' => 'Die Datei überschreitet die im Formular angegebene Maximalgröße.',
    'upload_err_partial' => 'Die Datei wurde nur teilweise hochgeladen. Bitte erneut versuchen.',
    'upload_err_no_file' => 'Es wurde keine Datei ausgewählt.',
    'upload_err_no_tmp_dir' => 'Temporäres Verzeichnis fehlt. Bitte Serverkonfiguration prüfen.',
    'upload_err_cant_write' => 'Datei konnte nicht auf Disk geschrieben werden. Bitte Schreibrechte prüfen.',
    'upload_err_extension' => 'Upload durch eine PHP-Erweiterung abgebrochen.',
    'upload_err_unknown' => 'Upload-Fehler (Code :code). Bitte erneut versuchen.',
    'zip_extension_missing' => 'Die ZIP-Erweiterung ist auf diesem Server nicht verfügbar. Backup nicht möglich.',

    // Contact form (generic builder messages)
    'contact_field_required'      => ':label ist ein Pflichtfeld.',
    'contact_field_email_invalid' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
    'contact_field_too_long'      => ':label darf maximal :max Zeichen lang sein.',
    'contact_form_disabled'       => 'Das Kontaktformular ist derzeit nicht verfügbar.',
    // Contact form (legacy – kept for backward compat)
    'contact_name_required' => 'Bitte geben Sie Ihren Namen an.',
    'contact_name_max' => 'Name darf maximal 120 Zeichen lang sein.',
    'contact_email_required' => 'Bitte geben Sie Ihre E-Mail-Adresse an.',
    'contact_email_invalid' => 'Bitte geben Sie eine gültige E-Mail-Adresse an.',
    'contact_subject_required' => 'Bitte geben Sie einen Betreff an.',
    'contact_subject_max' => 'Betreff darf maximal 200 Zeichen lang sein.',
    'contact_message_required' => 'Bitte geben Sie Ihre Nachricht ein.',
    'contact_message_max' => 'Nachricht darf maximal 5.000 Zeichen lang sein.',
    'contact_fix_errors' => 'Bitte korrigieren Sie die markierten Felder.',
    'contact_success' => 'Vielen Dank für Ihre Nachricht! Wir melden uns so bald wie möglich.',
    'contact_send_failed' => 'Ihre Nachricht konnte leider nicht gesendet werden. Bitte versuchen Sie es erneut oder schreiben Sie uns direkt per E-Mail.',

    // Additional admin messages
    'invalid_language' => 'Ungültige Sprache ausgewählt.',
    'file_required' => 'Keine Datei ausgewählt.',
    'upload_failed' => 'Upload fehlgeschlagen.',
    'upload_too_large' => 'Datei zu groß. PHP post_max_size=:max. Bitte upload_max_filesize und post_max_size in php.ini erhöhen.',
    'reload_page' => 'Bitte laden Sie die Seite neu.',

    // Bulk actions
    'bulk_action_done' => ':count Element(e) erfolgreich verarbeitet.',
    'all_uploads_failed' => 'Alle :count Uploads fehlgeschlagen. Dateitypen und -größen prüfen (Bilder: JPG, PNG, GIF, WEBP, SVG, ICO · max 5 MB | Videos: MP4, WEBM, OGV, MOV · max 200 MB).',

    // Error variants for specific contexts
    'error' => [
        'slug_taken' => 'Ein Element mit dieser URL-freundlichen Bezeichnung existiert bereits.',
        'category_has_posts' => 'Kann nicht löschen: :count Beitrag(e) sind dieser Kategorie zugewiesen. Ordnen Sie diese erst neu an oder löschen Sie sie.',
        'name_taken' => 'Ein Element mit diesem Namen existiert bereits.',
        'tag_has_posts' => 'Schlagwort kann nicht gelöscht werden: noch in :count Beitrag(en) verwendet.',
        'invalid_input' => 'Ungültige Eingabe.',
        'last_admin' => 'Das Löschen des letzten Admin-Kontos ist nicht möglich. Erstellen Sie zuerst ein anderes Admin-Konto.',
        'no_images_added' => 'Keine Bilder konnten hinzugefügt werden. Einige Bilder befinden sich möglicherweise bereits im Album.',

        // Validation
        'title_required' => 'Titel ist erforderlich.',
        'start_date_required' => 'Startdatum ist erforderlich.',
        'category_name_required' => 'Kategoriename ist erforderlich.',
        'no_items_selected' => 'Keine Einträge ausgewählt.',
        'folder_name_empty' => 'Ordnername darf nicht leer sein.',
        'category_has_items' => 'Kann nicht löschen: :count Element(e) sind dieser Kategorie zugewiesen. Ordnen Sie diese erst neu an oder löschen Sie sie.',

        // System
        'storage_not_writable' => 'Fehler beim Aktivieren: storage/ ist nicht beschreibbar.',
        'backup_error' => 'Backup fehlgeschlagen: :error',
        'settings_save_error' => 'Einstellungen konnten nicht gespeichert werden: :error',

        // Package upload (Plugin / Theme)
        'no_slug_specified' => 'Kein :type angegeben.',
        'invalid_slug' => 'Ungültiger :type-Slug.',
        'not_installed' => ':type „:name" ist nicht installiert.',
        'save_state_failed' => 'Aktivierungsstatus von :type konnte nicht gespeichert werden. Schreibrechte auf storage/ prüfen.',
        'no_file_uploaded' => 'Keine Datei hochgeladen. Bitte eine :type-ZIP-Datei auswählen.',
        'upload_error' => 'Upload fehlgeschlagen: :error',
        'zip_too_large' => ':type-ZIP überschreitet das 10-MB-Limit.',
        'only_zip_accepted' => 'Nur .zip-Dateien werden als :type-Pakete akzeptiert.',
        'invalid_zip_mime' => 'Die hochgeladene Datei scheint kein gültiges ZIP-Archiv zu sein (MIME: :mime).',
        'zip_not_available' => 'PHP ZipArchive-Erweiterung ist auf diesem Server nicht verfügbar. :type-Upload wird nicht unterstützt.',
        'temp_dir_failed' => 'Temporäres Extraktionsverzeichnis konnte nicht erstellt werden.',
        'zip_open_failed' => 'ZIP-Archiv konnte nicht geöffnet werden. Die Datei ist möglicherweise beschädigt (ZipArchive-Fehler: :code).',
        'zip_path_traversal' => 'Sicherheit: :type-ZIP enthält unsichere Pfadeinträge (Path Traversal erkannt). Installation abgebrochen.',
        'zip_absolute_path' => 'Sicherheit: :type-ZIP enthält absolute Pfadeinträge. Installation abgebrochen.',
        'zip_extract_failed' => 'ZIP-Archiv konnte nicht extrahiert werden. Die Datei ist möglicherweise beschädigt oder dem Server fehlen Schreibrechte.',
        'zip_resolve_failed' => 'Sicherheit: Temporärer Verzeichnispfad konnte nach der Extraktion nicht aufgelöst werden.',
        'zip_slip_detected' => 'Sicherheit: ZIP-Slip-Pfadflucht nach der Extraktion erkannt. Installation abgebrochen.',
        'no_manifest_found' => 'Ungültiges :type-Paket: Keine :manifest gefunden. Die ZIP muss eine :manifest im Root oder in einem einzelnen Unterverzeichnis enthalten.',
        'invalid_manifest_json' => 'Ungültiges :type-Paket: :manifest ist kein gültiges JSON.',
        'manifest_missing_fields' => 'Ungültiges :type-Paket: :manifest muss die Felder „slug", „name" und „version" enthalten.',
        'invalid_slug_format' => 'Ungültiger :type-Slug „:slug". Der Slug muss mit einem Kleinbuchstaben oder einer Ziffer beginnen und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.',
        'plugin_entry_missing' => 'Ungültiges Plugin-Paket: Eine plugin.php-Einstiegsdatei ist erforderlich.',
        'theme_templates_missing' => 'Ungültiges Theme-Paket: Ein templates/-Verzeichnis ist erforderlich.',
        'not_found_named' => ':type „:name" nicht gefunden.',
        'system_theme' => 'Theme „:name" ist ein System-Theme und kann nicht deinstalliert werden.',
        'active_theme' => 'Das aktive Theme kann nicht deinstalliert werden. Bitte zuerst ein anderes Theme aktivieren.',
        'theme_not_found_invalid' => 'Theme „:name" nicht gefunden oder ungültig.',
        'theme_slug_reserved' => 'Der Theme-Slug „:slug" ist reserviert und kann nicht per Upload überschrieben werden.',
    ],
];
