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:
2026-08-15 19:21:04 +02:00
parent cd498c8c3a
commit 1492dcf71f
207 changed files with 3742 additions and 22688 deletions
+252
View File
@@ -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',
];
+38
View File
@@ -0,0 +1,38 @@
<?php
return [
'site_title' => 'CodePress',
'home' => 'Startseite',
'search' => 'Suchen',
'search_placeholder' => 'Suchen...',
'search_button' => 'Suchen',
'welcome' => 'Willkommen',
'created' => 'Erstellt',
'modified' => 'Geändert',
'author' => 'Autor',
'manual' => 'Handbuch',
'no_content' => 'Kein Inhalt gefunden',
'no_results' => 'Keine Ergebnisse gefunden',
'results_found' => 'Ergebnisse gefunden',
'breadcrumb_home' => 'Startseite',
'file_details' => 'Dateidetails',
'guide' => 'Handbuch',
'powered_by' => 'Powered by',
't_powered_by' => 'Powered by',
'directory_empty' => 'Dieses Verzeichnis ist leer',
'page_not_found' => 'Seite nicht gefunden',
'page_not_found_text' => 'Die gesuchte Seite existiert nicht.',
'mappen' => 'Ordner',
'paginas' => 'Seiten',
'author_website' => 'Autor Website',
'author_git' => 'Autor Git',
'plugins' => 'Plugins',
'templates' => 'Templates',
'layouts' => 'Layouts',
'sidebar_content' => 'Sidebar + Inhalt',
'content_only' => 'Nur Inhalt',
'sidebar_only' => 'Nur Sidebar',
'content_sidebar' => 'Inhalt + Sidebar',
'plugin_development' => 'Plugin Entwicklung',
'template_system' => 'Template System',
'go_to' => 'Gehe zu',
];
+252
View File
@@ -0,0 +1,252 @@
<?php
return [
// Brand & nav sections
'admin_title' => 'CodePress Admin',
'section_general' => 'General',
'section_content' => 'Content',
'section_settings' => 'Settings',
'section_data' => 'Data',
'section_system' => 'System',
'section_plugins' => 'Plugins',
'section_help' => 'Help',
// Nav items
'dashboard' => 'Dashboard',
'content' => 'Content',
'configuration' => 'Configuration',
'theme' => 'Theme',
'security' => 'Security',
'statistics' => 'Statistics',
'logs' => 'Logs',
'plugins' => 'Plugins',
'users' => 'Users',
'update' => 'Update',
'guide' => 'Guide',
'view_website' => 'View website',
'logout' => 'Logout',
// Generic buttons
'save' => 'Save',
'save_ctrl_s' => 'Save (Ctrl+S)',
'cancel' => 'Cancel',
'delete' => 'Delete',
'edit' => 'Edit',
'create' => 'Create',
'back' => 'Back',
'yes' => 'Yes',
'no' => 'No',
'search' => 'Search',
'preview' => 'Preview',
'open_new_tab' => 'Open in new tab',
'download' => 'Download',
'rename' => 'Rename',
'move' => 'Move',
'activate' => 'Activate',
'deactivate' => 'Deactivate',
'config' => 'Config',
'essential' => 'Essential',
'view_all' => 'View all →',
// Messages
'saved' => 'Saved.',
'save_failed' => 'Save failed.',
'invalid_csrf' => 'Invalid CSRF token.',
'no_permission' => 'You do not have permission to view this page.',
'no_permission_title' => 'No access',
// Config page
'site_title' => 'Site title',
'admin_language' => 'Admin language',
'admin_language_help' => 'Language of the admin panel (menu, buttons, labels).',
'content_language' => 'Content language',
'content_language_help' => 'Default language of website content (fallback when no language in URL).',
'homepage' => 'Homepage',
'homepage_mode' => 'Homepage mode',
'homepage_auto' => 'Automatic — first available page',
'homepage_newest' => 'Most recently modified page',
'homepage_specific' => 'Specific page',
'homepage_select' => 'Select page',
'homepage_help' => 'Determine which page is shown on the homepage (the language root URL, e.g. /en).',
'no_pages_found' => 'No pages found in content/',
'author_section' => 'Author',
'author_name' => 'Name',
'author_email' => 'Email',
'analytics_logging' => 'Analytics & Logging',
'analytics_enabled' => 'Analytics enabled',
'logging_enabled' => 'Logging enabled',
// Content page
'upload' => 'Upload',
'new_folder' => 'New folder',
'new_file' => 'New file',
'select_files' => 'Select files',
'allowed_types' => 'Allowed: JPG, PNG, GIF, WebP, SVG, PDF, ZIP, MP4, WebM, MP3, WAV',
'upload_to_folder' => 'Upload to this folder',
'filter_placeholder' => 'Filter by file or folder name…',
'filter_content' => 'Filter content',
'col_name' => 'Name',
'col_type' => 'Type',
'col_size' => 'Size',
'col_modified' => 'Modified',
'col_actions' => 'Actions',
'col_role' => 'Role',
'col_created' => 'Created',
'no_files_found' => 'No files found.',
'folder_badge' => 'Folder',
'confirm_delete_folder' => 'Are you sure you want to delete this folder? The folder must be empty.',
'confirm_delete_file' => 'Are you sure you want to delete this file?',
'no_filter_results' => 'No results for this filter.',
'new_folder_title' => 'Create new folder',
'folder_name' => 'Folder name',
'name_help' => 'Only letters, numbers, dots, underscores and dashes.',
// Content edit / new
'filename' => 'Filename',
'template_layout' => 'Template / Layout',
'visible_plugins' => 'Visible plugins',
'new_page' => 'New page',
'file_type' => 'File type',
// Content dir form
'rename_folder' => 'Rename folder',
'new_name_for' => 'New name for',
// Content move form
'folder' => 'Folder',
'file' => 'File',
'move_suffix' => 'move',
'move_prefix' => 'Move',
'move_to' => 'to:',
'target_folder' => 'Target folder',
// Dashboard
'welcome' => 'Welcome,',
'logged_in_as' => 'Logged in as',
'views_30d' => 'Views (30 days)',
'unique_visitors_30d' => 'Unique visitors (30 days)',
'top_country' => 'Top country',
'statistics_arrow' => 'Statistics →',
'pages' => 'Pages',
'folders' => 'Folders',
'content_size' => 'Content size',
'content_info' => 'Content information',
'manage' => 'Manage',
'site_info' => 'Site information',
'default_lang' => 'Default language',
'author' => 'Author',
'cms_version' => 'CodePress version',
'php_version' => 'PHP version',
'os' => 'Operating system',
'config_loaded' => 'Config loaded',
'recent_activity' => 'Recent activity',
'no_activity' => 'No activity recorded.',
'recent_requests' => 'Recent requests',
'no_requests' => 'No requests recorded.',
'quick_actions' => 'Quick actions',
'manage_content' => 'Manage content',
'edit_config' => 'Edit configuration',
'view_statistics' => 'View statistics',
'manage_theme' => 'Manage theme',
'manage_plugins' => 'Manage plugins',
// Error page
'error' => 'Error',
'page_not_found' => 'Page not found',
'page_not_found_msg' => 'The requested page could not be found.',
'to_dashboard' => 'To dashboard',
// Guide
'navigation' => 'Navigation',
'manuals' => 'Manuals',
// Logs
'col_time' => 'Time',
'col_level' => 'Level',
'col_ip' => 'IP',
'col_message' => 'Message',
'no_logs' => 'No logs found.',
// Media
'media' => 'Media',
'no_media' => 'No media files found.',
// Plugins
'new_plugin' => 'New plugin',
'new_plugin_title' => 'Create new plugin',
'plugin_name' => 'Plugin name',
'plugin_name_help' => 'Only letters, numbers, underscores and dashes.',
'active' => 'Active',
'inactive' => 'Inactive',
'no_description' => 'No description',
'essential_title' => 'Essential plugin - cannot be edited, deactivated or deleted',
'plugin_config' => 'Plugin Configuration: ',
'plugin_edit' => 'Edit plugin: ',
'confirm_delete_plugin' => 'Are you sure you want to delete this plugin?',
'no_plugins' => 'No plugins found. Create a new plugin to get started.',
// Security
'security_bots' => 'Security & Bot Protection',
'bot_protection' => 'Bot Protection',
'botguard_enabled' => 'BotGuard enabled',
'block_bad_bots' => 'Block bad bots',
'session_settings' => 'Session Settings',
'session_timeout' => 'Session timeout (seconds)',
'max_login_attempts' => 'Max login attempts',
// Statistics
'total_views' => 'Total views',
'unique_visitors' => 'Unique visitors',
'page_views' => 'Page views',
'countries' => 'Countries',
'top_pages' => 'Top pages',
'no_data' => 'No data',
// Theme
'themes' => 'Themes',
'activate_default' => 'Activate Default',
'new_theme' => 'New theme',
'new_theme_title' => 'Create new theme',
'theme_name' => 'Theme name',
'theme_name_help' => 'Only letters, numbers, underscores and dashes.',
'name_label' => 'Name: ',
'default_layout_label' => 'Default layout: ',
'compile_scss' => 'Compile SCSS',
'no_themes' => 'No themes found.',
// Update
'system_update' => 'System Update',
'git_not_writable' => 'The .git directory is not writable. Automatic updates are not possible.',
'current_version' => 'Current version',
'cms_version_label' => 'CodePress version: ',
'update_options' => 'Update options',
'check_updates' => 'Check for updates',
'run_update' => 'Run update',
// Users
'username' => 'Username',
'password' => 'Password',
'password_help' => 'At least 8 characters.',
'login_email' => 'Login email',
'author_name' => 'Author name',
'author_name_help' => 'Shown as author on the website.',
'author_email' => 'Author email',
'my_profile' => 'My profile',
'edit_profile' => 'Edit profile',
'you' => 'You',
'unknown' => 'Unknown',
'confirm_delete_user' => 'Are you sure you want to delete this user?',
'change_role' => 'Change role: ',
'current_role' => 'Current role',
'new_role' => 'New role',
'change' => 'Change',
'own_account' => 'Own account',
'no_users' => 'No users found.',
'new_user' => 'New user',
'add_user' => 'Add user',
// Login
'login_title' => 'CodePress Admin - Login',
'username_label' => 'Username',
'password_label' => 'Password',
'login_btn' => 'Log in',
'back_to_website' => 'Back to website',
];
+38
View File
@@ -0,0 +1,38 @@
<?php
return [
'site_title' => 'CodePress',
'home' => 'Home',
'search' => 'Search',
'search_placeholder' => 'Search...',
'search_button' => 'Search',
'welcome' => 'Welcome',
'created' => 'Created',
'modified' => 'Modified',
'author' => 'Author',
'manual' => 'Manual',
'no_content' => 'No content found',
'no_results' => 'No results found',
'results_found' => 'results found',
'breadcrumb_home' => 'Home',
'file_details' => 'File details',
'guide' => 'Guide',
'powered_by' => 'Powered by',
't_powered_by' => 'Powered by',
'directory_empty' => 'This directory is empty',
'page_not_found' => 'Page Not Found',
'page_not_found_text' => 'The page you are looking for does not exist.',
'mappen' => 'Folders',
'paginas' => 'Pages',
'author_website' => 'Author website',
'author_git' => 'Author Git',
'plugins' => 'Plugins',
'templates' => 'Templates',
'layouts' => 'Layouts',
'sidebar_content' => 'Sidebar + Content',
'content_only' => 'Content Only',
'sidebar_only' => 'Sidebar Only',
'content_sidebar' => 'Content + Sidebar',
'plugin_development' => 'Plugin Development',
'template_system' => 'Template System',
'go_to' => 'Go to',
];
+252
View File
@@ -0,0 +1,252 @@
<?php
return [
// Brand & nav sections
'admin_title' => 'CodePress Admin',
'section_general' => 'Algemeen',
'section_content' => 'Content',
'section_settings' => 'Instellingen',
'section_data' => 'Gegevens',
'section_system' => 'Systeem',
'section_plugins' => 'Plugins',
'section_help' => 'Help',
// Nav items
'dashboard' => 'Dashboard',
'content' => 'Content',
'configuration' => 'Configuratie',
'theme' => 'Thema',
'security' => 'Beveiliging',
'statistics' => 'Statistieken',
'logs' => 'Logs',
'plugins' => 'Plugins',
'users' => 'Gebruikers',
'update' => 'Update',
'guide' => 'Handleiding',
'view_website' => 'Website bekijken',
'logout' => 'Uitloggen',
// Generic buttons
'save' => 'Opslaan',
'save_ctrl_s' => 'Opslaan (Ctrl+S)',
'cancel' => 'Annuleren',
'delete' => 'Verwijderen',
'edit' => 'Bewerken',
'create' => 'Aanmaken',
'back' => 'Terug',
'yes' => 'Ja',
'no' => 'Nee',
'search' => 'Zoeken',
'preview' => 'Preview',
'open_new_tab' => 'Open in nieuw tabblad',
'download' => 'Download',
'rename' => 'Hernoemen',
'move' => 'Verplaatsen',
'activate' => 'Activeren',
'deactivate' => 'Deactiveren',
'config' => 'Config',
'essential' => 'Essentieel',
'view_all' => 'Bekijk alle →',
// Messages
'saved' => 'Opgeslagen.',
'save_failed' => 'Opslaan mislukt.',
'invalid_csrf' => 'Ongeldige CSRF token.',
'no_permission' => 'Je hebt geen rechten om deze pagina te bekijken.',
'no_permission_title' => 'Geen toegang',
// Config page
'site_title' => 'Site titel',
'admin_language' => 'Admin taal',
'admin_language_help' => 'Taal van het admin-paneel (menu, knoppen, labels).',
'content_language' => 'Content taal',
'content_language_help' => 'Standaardtaal van de website-content (fallback als er geen taal in de URL staat).',
'homepage' => 'Homepage',
'homepage_mode' => 'Homepage-modus',
'homepage_auto' => 'Automatisch — eerste beschikbare pagina',
'homepage_newest' => 'Meest recent aangepaste pagina',
'homepage_specific' => 'Specifieke pagina',
'homepage_select' => 'Selecteer pagina',
'homepage_help' => 'Bepaal welke pagina getoond wordt op de homepage (de taal-root URL, bijv. /nl).',
'no_pages_found' => 'Geen pagina\'s gevonden in content/',
'author_section' => 'Auteur',
'author_name' => 'Naam',
'author_email' => 'E-mail',
'analytics_logging' => 'Analytics & Logging',
'analytics_enabled' => 'Analytics ingeschakeld',
'logging_enabled' => 'Logging ingeschakeld',
// Content page
'upload' => 'Upload',
'new_folder' => 'Nieuwe map',
'new_file' => 'Nieuw bestand',
'select_files' => 'Bestanden selecteren',
'allowed_types' => 'Toegestaan: JPG, PNG, GIF, WebP, SVG, PDF, ZIP, MP4, WebM, MP3, WAV',
'upload_to_folder' => 'Uploaden naar deze map',
'filter_placeholder' => 'Filter op bestands- of mapnaam…',
'filter_content' => 'Filter content',
'col_name' => 'Naam',
'col_type' => 'Type',
'col_size' => 'Grootte',
'col_modified' => 'Gewijzigd',
'col_actions' => 'Acties',
'col_role' => 'Rol',
'col_created' => 'Aangemaakt',
'no_files_found' => 'Geen bestanden gevonden.',
'folder_badge' => 'Map',
'confirm_delete_folder' => 'Weet je zeker dat je deze map wilt verwijderen? De map moet leeg zijn.',
'confirm_delete_file' => 'Weet je zeker dat je dit bestand wilt verwijderen?',
'no_filter_results' => 'Geen resultaten voor deze filter.',
'new_folder_title' => 'Nieuwe map aanmaken',
'folder_name' => 'Mapnaam',
'name_help' => 'Alleen letters, cijfers, punten, underscores en streepjes.',
// Content edit / new
'filename' => 'Bestandsnaam',
'template_layout' => 'Sjabloon / Layout',
'visible_plugins' => 'Zichtbare plugins',
'new_page' => 'Nieuwe pagina',
'file_type' => 'Bestandstype',
// Content dir form
'rename_folder' => 'Map hernoemen',
'new_name_for' => 'Nieuwe naam voor',
// Content move form
'folder' => 'Map',
'file' => 'Bestand',
'move_suffix' => 'verplaatsen',
'move_prefix' => 'Verplaats',
'move_to' => 'naar:',
'target_folder' => 'Doelmap',
// Dashboard
'welcome' => 'Welkom,',
'logged_in_as' => 'Ingelogd als',
'views_30d' => 'Weergaven (30 dagen)',
'unique_visitors_30d' => 'Unieke bezoekers (30 dagen)',
'top_country' => 'Grootste land',
'statistics_arrow' => 'Statistieken →',
'pages' => 'Pagina\'s',
'folders' => 'Mappen',
'content_size' => 'Content grootte',
'content_info' => 'Content informatie',
'manage' => 'Beheren',
'site_info' => 'Site informatie',
'default_lang' => 'Standaard taal',
'author' => 'Auteur',
'cms_version' => 'CodePress versie',
'php_version' => 'PHP versie',
'os' => 'Besturingssysteem',
'config_loaded' => 'Config geladen',
'recent_activity' => 'Recente activiteit',
'no_activity' => 'Geen activiteit geregistreerd.',
'recent_requests' => 'Recente requests',
'no_requests' => 'Geen requests geregistreerd.',
'quick_actions' => 'Snelle acties',
'manage_content' => 'Content beheren',
'edit_config' => 'Configuratie bewerken',
'view_statistics' => 'Statistieken bekijken',
'manage_theme' => 'Thema beheren',
'manage_plugins' => 'Plugins beheren',
// Error page
'error' => 'Fout',
'page_not_found' => 'Pagina niet gevonden',
'page_not_found_msg' => 'De gevraagde pagina kon niet worden gevonden.',
'to_dashboard' => 'Naar dashboard',
// Guide
'navigation' => 'Navigatie',
'manuals' => 'Handleidingen',
// Logs
'col_time' => 'Tijd',
'col_level' => 'Level',
'col_ip' => 'IP',
'col_message' => 'Bericht',
'no_logs' => 'Geen logs gevonden.',
// Media
'media' => 'Media',
'no_media' => 'Geen media bestanden gevonden.',
// Plugins
'new_plugin' => 'Nieuwe plugin',
'new_plugin_title' => 'Nieuwe plugin aanmaken',
'plugin_name' => 'Plugin naam',
'plugin_name_help' => 'Alleen letters, cijfers, underscores en streepjes.',
'active' => 'Actief',
'inactive' => 'Inactief',
'no_description' => 'Geen beschrijving',
'essential_title' => 'Essentiële plugin - kan niet worden bewerkt, gedeactiveerd of verwijderd',
'plugin_config' => 'Plugin Configuratie: ',
'plugin_edit' => 'Plugin bewerken: ',
'confirm_delete_plugin' => 'Weet je zeker dat je deze plugin wilt verwijderen?',
'no_plugins' => 'Geen plugins gevonden. Maak een nieuwe plugin aan om te beginnen.',
// Security
'security_bots' => 'Beveiliging & Bot Bescherming',
'bot_protection' => 'Bot Bescherming',
'botguard_enabled' => 'BotGuard ingeschakeld',
'block_bad_bots' => 'Blokkeer slechte bots',
'session_settings' => 'Sessie Instellingen',
'session_timeout' => 'Sessie timeout (seconden)',
'max_login_attempts' => 'Maximale login pogingen',
// Statistics
'total_views' => 'Totaal aantal views',
'unique_visitors' => 'Unieke bezoekers',
'page_views' => 'Pagina views',
'countries' => 'Landen',
'top_pages' => 'Top pagina\'s',
'no_data' => 'Geen data',
// Theme
'themes' => 'Thema\'s',
'activate_default' => 'Activeer Default',
'new_theme' => 'Nieuw thema',
'new_theme_title' => 'Nieuw thema aanmaken',
'theme_name' => 'Thema naam',
'theme_name_help' => 'Alleen letters, cijfers, underscores en streepjes.',
'name_label' => 'Naam: ',
'default_layout_label' => 'Default layout: ',
'compile_scss' => 'SCSS compileren',
'no_themes' => 'Geen thema\'s gevonden.',
// Update
'system_update' => 'Systeem Update',
'git_not_writable' => 'De .git map is niet beschrijfbaar. Automatische updates zijn niet mogelijk.',
'current_version' => 'Huidige versie',
'cms_version_label' => 'CodePress versie: ',
'update_options' => 'Update opties',
'check_updates' => 'Controleer op updates',
'run_update' => 'Update uitvoeren',
// Users
'username' => 'Gebruikersnaam',
'password' => 'Wachtwoord',
'password_help' => 'Minimaal 8 tekens.',
'login_email' => 'Login e-mail',
'author_name' => 'Auteur naam',
'author_name_help' => 'Getoond als auteur op de website.',
'author_email' => 'Auteur e-mail',
'my_profile' => 'Mijn profiel',
'edit_profile' => 'Profiel bewerken',
'you' => 'Jij',
'unknown' => 'Onbekend',
'confirm_delete_user' => 'Weet je zeker dat je deze gebruiker wilt verwijderen?',
'change_role' => 'Rol wijzigen: ',
'current_role' => 'Huidige rol',
'new_role' => 'Nieuwe rol',
'change' => 'Wijzigen',
'own_account' => 'Eigen account',
'no_users' => 'Geen gebruikers gevonden.',
'new_user' => 'Nieuwe gebruiker',
'add_user' => 'Gebruiker toevoegen',
// Login
'login_title' => 'CodePress Admin - Login',
'username_label' => 'Gebruikersnaam',
'password_label' => 'Wachtwoord',
'login_btn' => 'Inloggen',
'back_to_website' => 'Terug naar website',
];
+38
View File
@@ -0,0 +1,38 @@
<?php
return [
'site_title' => 'CodePress',
'home' => 'Home',
'search' => 'Zoeken',
'search_placeholder' => 'Zoeken...',
'search_button' => 'Zoeken',
'welcome' => 'Welkom',
'created' => 'Aangemaakt',
'modified' => 'Aangepast',
'author' => 'Auteur',
'manual' => 'Handleiding',
'no_content' => 'Geen inhoud gevonden',
'no_results' => 'Geen resultaten gevonden',
'results_found' => 'resultaten gevonden',
'breadcrumb_home' => 'Home',
'file_details' => 'Bestandsdetails',
'guide' => 'Handleiding',
'powered_by' => 'Mogelijk gemaakt door',
't_powered_by' => 'Mogelijk gemaakt door',
'directory_empty' => 'Deze map is leeg',
'page_not_found' => 'Pagina niet gevonden',
'page_not_found_text' => 'De pagina die u zoekt bestaat niet.',
'mappen' => 'Mappen',
'paginas' => 'Pagina\'s',
'author_website' => 'Auteur website',
'author_git' => 'Auteur Git',
'plugins' => 'Plugins',
'templates' => 'Templates',
'layouts' => 'Layouts',
'sidebar_content' => 'Sidebar + Content',
'content_only' => 'Alleen Content',
'sidebar_only' => 'Alleen Sidebar',
'content_sidebar' => 'Content + Sidebar',
'plugin_development' => 'Plugin Ontwikkeling',
'template_system' => 'Template Systeem',
'go_to' => 'Ga naar',
];