# CodePress CMS v2.6.1d — Release Notes **Release datum:** 2026-08-18 **Codename:** Lyra **Status:** stable --- ## Samenvatting Deze release richt zich volledig op **plugin-verbeteringen**: plugin internationalisatie (i18n), plugin uniformiteit, en een volledig vernieuwde plugin-editor met bestandsbrowser, uploaden, verwijderen en verplaatsen van bestanden binnen een plugin. --- ## Nieuwe features ### 1. Plugin internationalisatie (i18n) Plugins hebben nu hun eigen `language/` map met vertalingen, geïntegreerd met de admin-taal en content-taal. - **Systeem plugins** (`type: "system"`) volgen de geselecteerde **admin taal** — vertalingen in `language//admin.php` - **Content plugins** (`type: "content"`) volgen de geselecteerde **content taal** — vertalingen in `language//site.php` - **Fallback chain**: geselecteerde taal → plugin `default_language` (uit `plugin.json`) → CMS site default → lege array (sleutel wordt ongewijzigd getoond) **Core uitbreidingen:** - `PluginManager`: `getPluginDefaultLanguage()`, `getPluginTranslations()`, `getAllPluginTranslations()` met fallback chain - `PluginAPIInterface`: `getPluginTranslations()` + `t()` toegevoegd (contract voor beide API's) - `AdminPluginAPI`: `getAdminLanguage()`, `getPluginTranslations()`, `t()` (systeem plugins) - `CMSAPI`: `getPluginTranslations()`, `t()` (content plugins) **Admin integratie:** - `public/admin.php` laadt alle plugin-vertalingen als Twig global `ta_plugins` + functions `tap()` en `plugin_menu_label()` - `handlePluginsConfig()` resolveert `label_key`/`help_key`/`option_label_key` via plugin-vertalingen voor instellingen-labels - Admin sidebar toont vertaalde plugin-menu labels via `plugin_menu_label()` **Alle 6 plugins bijgewerkt:** - Dashboard, GeoIPInfo, Logs, Statistics (systeem): `language/nl/admin.php` + `language/en/admin.php` - HTMLBlock, Navigation (content): `language/nl/site.php` + `language/en/site.php` - `plugin.json`: `default_language: "nl"` toegevoegd - Logs en Statistics: instellingen-labels via `label_key`/`help_key` in plaats van hardcoded tekst - Alle hardcoded Nederlandse strings in `handleAdminRoute()`/`getSidebarContent()` vervangen door vertaalde waarden ### 2. Plugin uniformiteit Elke plugin heeft nu een uniforme structuur: ``` plugins// ├── .php # Hoofd plugin class ├── plugin.json # Metadata + instellingen ├── README.md # Plugin documentatie (uniform format) ├── assets/ # CSS/JS/SCSS (.gitkeep als leeg) │ └── ... └── language/ # Vertalingen ├── nl/ └── en/ ``` - Per plugin een `README.md` met uniform format: plugin type, bestandsstructuur, functies, instellingen, taal support - `plugins/README.md` herschreven als korte algemene intro met plugin-overzicht tabel - `guide/nl|en/codepress-developer/plugin-development.md` volledig herschreven (structuur, plugin.json velden incl. `default_language`, settings schema met `label_key`/`help_key`, API methodes incl. `getPluginTranslations`/`t`, admin integratie, taal support sectie) - `guide/nl|en/codepress-developer/architectuur.md` bijgewerkt met plugin `language/` map ### 3. Plugin editor volledig vernieuwd De plugin-editor (`/admin/plugins-edit`) toonde alleen het `.php` bestand. Nu is het een volledige bestandsbeheer-omgeving. #### Bestandsbrowser zijbalk - Geneste, inklapbare boomstructuur van alle bestanden in de plugin-map (`.php`, `.json`, `.md`, `.html`, `.css`, `.scss`, `.js`) inclusief `language/` en `assets/` submappen - Mappen die het actieve bestand bevatten worden automatisch uitgeklapt - Iconen per bestandstype (PHP, JSON, MD, CSS, JS, HTML, mappen) - Bootstrap collapse via `