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' => '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',
|
||||
];
|
||||
Reference in New Issue
Block a user