v2.6.0: Content backup/git versioning, plugin type system, docs update
New features: - ContentBackup class with ZIP backup/restore and git versioning - Admin backup & restore page (content-backup.twig) with git init/commit/log/restore - Plugin type system: system (blue) vs content (green) with visual badges - PluginAPIInterface + AdminPluginAPI for plugin architecture - Essential plugin flag (cannot edit/deactivate/delete) Improvements: - Consolidated enabled_plugins config (removed plugins.enabled) - Removed Analytics/Logging toggles from admin config page - Fixed Dashboard plugin Twig comments rendered as text - Updated 20 guide files (NL+EN): configuratie, plugins, plugin-development, core-classes, theme-json, layouts, scss-styling, admin-beheerder, nieuw-thema, architectuur - Improved accessibility test script (grep -E, min/max checks) Cleanup: - Removed unused classes: ARIAComponents, AccessibilityManager, ContentSecurityPolicy, etc. - Removed vendor packages: mustache/mustache, php-mqtt/client - Removed old templates: logs.twig, statistics.twig (now plugins) - Moved language files to language/ directory Tests: - Pentest: 30/30 passed, 0 vulnerabilities - WCAG 2.1 AA: 25/25 passed, 100% compliance
This commit is contained in:
@@ -0,0 +1,252 @@
|
||||
<?php
|
||||
return [
|
||||
// Brand & nav sections
|
||||
'admin_title' => 'CodePress Admin',
|
||||
'section_general' => 'Allgemein',
|
||||
'section_content' => 'Inhalt',
|
||||
'section_settings' => 'Einstellungen',
|
||||
'section_data' => 'Daten',
|
||||
'section_system' => 'System',
|
||||
'section_plugins' => 'Plugins',
|
||||
'section_help' => 'Hilfe',
|
||||
// Nav items
|
||||
'dashboard' => 'Dashboard',
|
||||
'content' => 'Inhalt',
|
||||
'configuration' => 'Konfiguration',
|
||||
'theme' => 'Theme',
|
||||
'security' => 'Sicherheit',
|
||||
'statistics' => 'Statistiken',
|
||||
'logs' => 'Protokolle',
|
||||
'plugins' => 'Plugins',
|
||||
'users' => 'Benutzer',
|
||||
'update' => 'Update',
|
||||
'guide' => 'Handbuch',
|
||||
'view_website' => 'Website ansehen',
|
||||
'logout' => 'Abmelden',
|
||||
|
||||
// Generic buttons
|
||||
'save' => 'Speichern',
|
||||
'save_ctrl_s' => 'Speichern (Strg+S)',
|
||||
'cancel' => 'Abbrechen',
|
||||
'delete' => 'Löschen',
|
||||
'edit' => 'Bearbeiten',
|
||||
'create' => 'Erstellen',
|
||||
'back' => 'Zurück',
|
||||
'yes' => 'Ja',
|
||||
'no' => 'Nein',
|
||||
'search' => 'Suchen',
|
||||
'preview' => 'Vorschau',
|
||||
'open_new_tab' => 'In neuem Tab öffnen',
|
||||
'download' => 'Herunterladen',
|
||||
'rename' => 'Umbenennen',
|
||||
'move' => 'Verschieben',
|
||||
'activate' => 'Aktivieren',
|
||||
'deactivate' => 'Deaktivieren',
|
||||
'config' => 'Konfig',
|
||||
'essential' => 'Essenziell',
|
||||
'view_all' => 'Alle ansehen →',
|
||||
|
||||
// Messages
|
||||
'saved' => 'Gespeichert.',
|
||||
'save_failed' => 'Speichern fehlgeschlagen.',
|
||||
'invalid_csrf' => 'Ungültiges CSRF-Token.',
|
||||
'no_permission' => 'Sie haben keine Berechtigung, diese Seite anzuzeigen.',
|
||||
'no_permission_title' => 'Kein Zugriff',
|
||||
|
||||
// Config page
|
||||
'site_title' => 'Site-Titel',
|
||||
'admin_language' => 'Admin-Sprache',
|
||||
'admin_language_help' => 'Sprache des Admin-Panels (Menü, Schaltflächen, Beschriftungen).',
|
||||
'content_language' => 'Inhalt-Sprache',
|
||||
'content_language_help' => 'Standardsprache der Website-Inhalte (Fallback, wenn keine Sprache in der URL).',
|
||||
'homepage' => 'Startseite',
|
||||
'homepage_mode' => 'Startseiten-Modus',
|
||||
'homepage_auto' => 'Automatisch — erste verfügbare Seite',
|
||||
'homepage_newest' => 'Zuletzt geänderte Seite',
|
||||
'homepage_specific' => 'Bestimmte Seite',
|
||||
'homepage_select' => 'Seite auswählen',
|
||||
'homepage_help' => 'Bestimmt, welche Seite auf der Startseite angezeigt wird (Sprach-Root-URL, z. B. /de).',
|
||||
'no_pages_found' => 'Keine Seiten in content/ gefunden.',
|
||||
'author_section' => 'Autor',
|
||||
'author_name' => 'Name',
|
||||
'author_email' => 'E-Mail',
|
||||
'analytics_logging' => 'Analytics & Protokollierung',
|
||||
'analytics_enabled' => 'Analytics aktiviert',
|
||||
'logging_enabled' => 'Protokollierung aktiviert',
|
||||
|
||||
// Content page
|
||||
'upload' => 'Hochladen',
|
||||
'new_folder' => 'Neuer Ordner',
|
||||
'new_file' => 'Neue Datei',
|
||||
'select_files' => 'Dateien auswählen',
|
||||
'allowed_types' => 'Erlaubt: JPG, PNG, GIF, WebP, SVG, PDF, ZIP, MP4, WebM, MP3, WAV',
|
||||
'upload_to_folder' => 'In diesen Ordner hochladen',
|
||||
'filter_placeholder' => 'Nach Datei- oder Ordnername filtern…',
|
||||
'filter_content' => 'Inhalt filtern',
|
||||
'col_name' => 'Name',
|
||||
'col_type' => 'Typ',
|
||||
'col_size' => 'Größe',
|
||||
'col_modified' => 'Geändert',
|
||||
'col_actions' => 'Aktionen',
|
||||
'col_role' => 'Rolle',
|
||||
'col_created' => 'Erstellt',
|
||||
'no_files_found' => 'Keine Dateien gefunden.',
|
||||
'folder_badge' => 'Ordner',
|
||||
'confirm_delete_folder' => 'Sind Sie sicher, dass Sie diesen Ordner löschen möchten? Der Ordner muss leer sein.',
|
||||
'confirm_delete_file' => 'Sind Sie sicher, dass Sie diese Datei löschen möchten?',
|
||||
'no_filter_results' => 'Keine Ergebnisse für diesen Filter.',
|
||||
'new_folder_title' => 'Neuen Ordner erstellen',
|
||||
'folder_name' => 'Ordnername',
|
||||
'name_help' => 'Nur Buchstaben, Zahlen, Punkte, Unterstriche und Bindestriche.',
|
||||
|
||||
// Content edit / new
|
||||
'filename' => 'Dateiname',
|
||||
'template_layout' => 'Vorlage / Layout',
|
||||
'visible_plugins' => 'Sichtbare Plugins',
|
||||
'new_page' => 'Neue Seite',
|
||||
'file_type' => 'Dateityp',
|
||||
|
||||
// Content dir form
|
||||
'rename_folder' => 'Ordner umbenennen',
|
||||
'new_name_for' => 'Neuer Name für',
|
||||
|
||||
// Content move form
|
||||
'folder' => 'Ordner',
|
||||
'file' => 'Datei',
|
||||
'move_suffix' => 'verschieben',
|
||||
'move_prefix' => 'Verschiebe',
|
||||
'move_to' => 'nach:',
|
||||
'target_folder' => 'Zielordner',
|
||||
|
||||
// Dashboard
|
||||
'welcome' => 'Willkommen,',
|
||||
'logged_in_as' => 'Angemeldet als',
|
||||
'views_30d' => 'Aufrufe (30 Tage)',
|
||||
'unique_visitors_30d' => 'Eindeutige Besucher (30 Tage)',
|
||||
'top_country' => 'Top-Land',
|
||||
'statistics_arrow' => 'Statistiken →',
|
||||
'pages' => 'Seiten',
|
||||
'folders' => 'Ordner',
|
||||
'content_size' => 'Inhalt-Größe',
|
||||
'content_info' => 'Inhalt-Informationen',
|
||||
'manage' => 'Verwalten',
|
||||
'site_info' => 'Site-Informationen',
|
||||
'default_lang' => 'Standardsprache',
|
||||
'author' => 'Autor',
|
||||
'cms_version' => 'CodePress-Version',
|
||||
'php_version' => 'PHP-Version',
|
||||
'os' => 'Betriebssystem',
|
||||
'config_loaded' => 'Konfig geladen',
|
||||
'recent_activity' => 'Letzte Aktivität',
|
||||
'no_activity' => 'Keine Aktivität registriert.',
|
||||
'recent_requests' => 'Letzte Anfragen',
|
||||
'no_requests' => 'Keine Anfragen registriert.',
|
||||
'quick_actions' => 'Schnellaktionen',
|
||||
'manage_content' => 'Inhalt verwalten',
|
||||
'edit_config' => 'Konfiguration bearbeiten',
|
||||
'view_statistics' => 'Statistiken ansehen',
|
||||
'manage_theme' => 'Theme verwalten',
|
||||
'manage_plugins' => 'Plugins verwalten',
|
||||
|
||||
// Error page
|
||||
'error' => 'Fehler',
|
||||
'page_not_found' => 'Seite nicht gefunden',
|
||||
'page_not_found_msg' => 'Die angeforderte Seite konnte nicht gefunden werden.',
|
||||
'to_dashboard' => 'Zum Dashboard',
|
||||
|
||||
// Guide
|
||||
'navigation' => 'Navigation',
|
||||
'manuals' => 'Handbücher',
|
||||
|
||||
// Logs
|
||||
'col_time' => 'Zeit',
|
||||
'col_level' => 'Stufe',
|
||||
'col_ip' => 'IP',
|
||||
'col_message' => 'Nachricht',
|
||||
'no_logs' => 'Keine Protokolle gefunden.',
|
||||
|
||||
// Media
|
||||
'media' => 'Medien',
|
||||
'no_media' => 'Keine Mediendateien gefunden.',
|
||||
|
||||
// Plugins
|
||||
'new_plugin' => 'Neues Plugin',
|
||||
'new_plugin_title' => 'Neues Plugin erstellen',
|
||||
'plugin_name' => 'Plugin-Name',
|
||||
'plugin_name_help' => 'Nur Buchstaben, Zahlen, Unterstriche und Bindestriche.',
|
||||
'active' => 'Aktiv',
|
||||
'inactive' => 'Inaktiv',
|
||||
'no_description' => 'Keine Beschreibung',
|
||||
'essential_title' => 'Essenzielles Plugin - kann nicht bearbeitet, deaktiviert oder gelöscht werden',
|
||||
'plugin_config' => 'Plugin-Konfiguration: ',
|
||||
'plugin_edit' => 'Plugin bearbeiten: ',
|
||||
'confirm_delete_plugin' => 'Sind Sie sicher, dass Sie dieses Plugin löschen möchten?',
|
||||
'no_plugins' => 'Keine Plugins gefunden. Erstellen Sie ein neues Plugin um zu beginnen.',
|
||||
|
||||
// Security
|
||||
'security_bots' => 'Sicherheit & Bot-Schutz',
|
||||
'bot_protection' => 'Bot-Schutz',
|
||||
'botguard_enabled' => 'BotGuard aktiviert',
|
||||
'block_bad_bots' => 'Schlechte Bots blockieren',
|
||||
'session_settings' => 'Sitzungseinstellungen',
|
||||
'session_timeout' => 'Sitzungs-Timeout (Sekunden)',
|
||||
'max_login_attempts' => 'Max. Login-Versuche',
|
||||
|
||||
// Statistics
|
||||
'total_views' => 'Aufrufe gesamt',
|
||||
'unique_visitors' => 'Eindeutige Besucher',
|
||||
'page_views' => 'Seitenaufrufe',
|
||||
'countries' => 'Länder',
|
||||
'top_pages' => 'Top-Seiten',
|
||||
'no_data' => 'Keine Daten',
|
||||
|
||||
// Theme
|
||||
'themes' => 'Themes',
|
||||
'activate_default' => 'Default aktivieren',
|
||||
'new_theme' => 'Neues Theme',
|
||||
'new_theme_title' => 'Neues Theme erstellen',
|
||||
'theme_name' => 'Theme-Name',
|
||||
'theme_name_help' => 'Nur Buchstaben, Zahlen, Unterstriche und Bindestriche.',
|
||||
'name_label' => 'Name: ',
|
||||
'default_layout_label' => 'Standard-Layout: ',
|
||||
'compile_scss' => 'SCSS kompilieren',
|
||||
'no_themes' => 'Keine Themes gefunden.',
|
||||
|
||||
// Update
|
||||
'system_update' => 'System-Update',
|
||||
'git_not_writable' => 'Das .git-Verzeichnis ist nicht beschreibbar. Automatische Updates sind nicht möglich.',
|
||||
'current_version' => 'Aktuelle Version',
|
||||
'cms_version_label' => 'CodePress-Version: ',
|
||||
'update_options' => 'Update-Optionen',
|
||||
'check_updates' => 'Auf Updates prüfen',
|
||||
'run_update' => 'Update ausführen',
|
||||
|
||||
// Users
|
||||
'username' => 'Benutzername',
|
||||
'password' => 'Passwort',
|
||||
'password_help' => 'Mindestens 8 Zeichen.',
|
||||
'login_email' => 'Login-E-Mail',
|
||||
'author_name' => 'Autor-Name',
|
||||
'author_name_help' => 'Wird als Autor auf der Website angezeigt.',
|
||||
'author_email' => 'Autor-E-Mail',
|
||||
'my_profile' => 'Mein Profil',
|
||||
'edit_profile' => 'Profil bearbeiten',
|
||||
'you' => 'Sie',
|
||||
'unknown' => 'Unbekannt',
|
||||
'confirm_delete_user' => 'Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?',
|
||||
'change_role' => 'Rolle ändern: ',
|
||||
'current_role' => 'Aktuelle Rolle',
|
||||
'new_role' => 'Neue Rolle',
|
||||
'change' => 'Ändern',
|
||||
'own_account' => 'Eigenes Konto',
|
||||
'no_users' => 'Keine Benutzer gefunden.',
|
||||
'new_user' => 'Neuer Benutzer',
|
||||
'add_user' => 'Benutzer hinzufügen',
|
||||
|
||||
// Login
|
||||
'login_title' => 'CodePress Admin - Anmeldung',
|
||||
'username_label' => 'Benutzername',
|
||||
'password_label' => 'Passwort',
|
||||
'login_btn' => 'Anmelden',
|
||||
'back_to_website' => 'Zurück zur Website',
|
||||
];
|
||||
Reference in New Issue
Block a user