Added
- Russian translations: a complete
rulocale, in full parity withen. (@saythe0 — #146) - Translated "Clear logs" action: the action label, confirmation modal (heading, description, submit button) and success notification were hardcoded English strings; they now go through the translation catalogue as
clear_logs,clear_logs_heading,clear_logs_description,clear_logs_confirmandlogs_cleared. Closes #139. (@saythe0 — #146) - Localised resource labels and navigation group:
label,plural_labelandnavigation_groupnow default to translation keys instead of hardcoded English, so they follow the panel locale. (@saythe0 — #146) - Polish translations for the Failures page: the 42 keys missing from
plare now translated, bringingplto full parity withen. (@webard — #131) - Translation parity test:
TranslationParityTestasserts that every locale matchesenkey for key, keeps the same:count/:minutes/:deltaplaceholders, and keeps every pluralised string pluralised. Locales still behind —ar,cs,de,es,fa,he,it,nl,pt_BR,sk— are listed in anINCOMPLETE_LOCALESconstant and reported as skipped; the test fails both when a covered locale drifts and when a listed one becomes complete, so the list has to shrink. (#144) - French and Polish translations for the six keys added above.
Changed
navigation_groupkeeps itsSettingswording: the key is now actually rendered (it previously existed in the locale files but was never read — the config shipped a hardcoded'Settings'). Itsenvalue moved fromSystemtoSettings, and every locale was realigned on the local wording for Settings, so panels that never published the config keep the navigation group they have always shown, and now get it localised.
Fixed
- Configured labels no longer collide with the host JSON catalogue:
label,plural_labelandnavigation_groupare only resolved through__()when they can address a translation file. A plain string such as'Jobs'carries neither a::namespace nor a.group, so Laravel would look it up in the application'sresources/lang/{locale}.jsonand an unrelated entry there could silently rewrite a label configured by the user; such values are now used verbatim. (@saythe0 — #146) - Plugin stylesheet no longer overrides the host application's Tailwind utilities: the build output is now wrapped in
@layer components. It previously shipped bare utilities (.block,.flex,.hidden,.w-full, …) outside any cascade layer, and unlayered CSS outranks rules inside@layer utilities— the most visible symptom washidden md:blockstaying hidden at every viewport. (@gmagnenat — #145, #147)
Full Changelog: v4.5.0...v4.6.0