User tests: Successful: Unsuccessful:
Pull Request resolves # .
AI disclosure: root cause analysis and patch were done with the help of Claude Code. I reviewed the change and tested it manually on a local installation, before and after, as described below.
The menu and toolbar buttons in the TinyMCE set builder (System → Plugins → Editor - TinyMCE) are always displayed in English, no matter which administrator language is used.
The language file itself is loaded correctly, media/vendor/tinymce/langs/<lang>.min.js is in the page source. But it has no effect:
media_source/plg_editors_tinymce/js/tinymce-builder.es6.js replaces the global tinymce object with its own small stub (langCode: 'en', langStrings: {}) which only provides addI18n(), translate() and showIcon().type="module", the language script as defer. Module scripts and deferred classic scripts run in document order, and the layout emits the language script first. So addI18n() is called on the real TinyMCE object, and a moment later that object is thrown away and replaced by the stub with its empty langStrings.The fix registers the language script as depending on the builder script, so the web asset manager emits it after the builder script. Then addI18n() reaches the stub, and since the builder renders on DOMContentLoaded (later than both scripts), the strings are in place when the buttons are created.
One line changed in layouts/plugins/editors/tinymce/field/tinymcebuilder.php.
Note: the same problem exists in 6.x. There it needs a second change on top of this one (the field looks for .min.js language files, which the new build system no longer produces), see the companion PR for 6.2-dev.
The menu row is English: Edit Insert View Format Table Tools Help, the dropdowns show Formats and Paragraph, and the button tooltips are English as well.
The menu row is translated: Bearbeiten Einfügen Ansicht Format Tabelle Werkzeuge Hilfe, the dropdowns show Formate, Absatz and Schriftgröße, and the tooltips are translated too.
Tested on a fresh 5.4.9-dev installation with the German language pack 5.4.8.1.
(A string like Font Family stays English, that string simply does not exist in the TinyMCE language pack. Unrelated to this change.)
Please select:
Documentation link for guide.joomla.org:
No documentation changes for guide.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Layout |
| Title |
|
||||||
I have tested this item ✅ successfully on 4ea2470
I have tested this item ✅ successfully on 4ea2470
I have tested this item ✅ successfully on 4ea2470
I have tested this item ✅ successfully on 4ea2470
| Status | Pending | ⇒ | Ready to Commit |
| Labels |
Added:
bug
PR-5.4-dev
|
||
RTC
RTC
| Labels |
Added:
RTC
|
||
✅ Final test before merge with JBT
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-09-11 04:26:19 |
| Closed_By | ⇒ | muhme |
Thank you very much @tecpromotion for your contribution. Thanks to @brianteeman and @heelc29 for testing.
Companion PR for 6.2-dev: #48435. There the same layout change is needed plus a second fix, because the new build system no longer produces the
.min.jslanguage files the builder field looks for.