Troubleshooting
WordPress 6.7, translations do not work correctly
Resolved incident. WordPress 6.7.1 fixed a regression in version 6.7 that prevented some plugin translations from loading. This article is kept as a historical reference, and going back to an old branch to avoid it is not recommended.
Do not confuse that regression with the notice Function _load_textdomain_just_in_time was called incorrectly. WordPress 6.7 started warning when a plugin or theme requests translations too early. The text domain shown in the notice points towards the component, but the trace is what lets you find the call.
What to do now
- Update WordPress to the latest available security release, together with the language packs, plugins and themes.
- Make a backup first and test the update on staging when the shop or site is critical.
- If a translation still does not load, work out whether the string is missing or whether the notice above appears. Update the component and check that it does not run translation functions before the hook recommended by WordPress.
- Keep customisations in a child theme or your own plugin; do not overwrite core or translation files managed by updates.
In your own code, initialise a plugin's translatable functions on init or later. For a theme, use the documented initialisation point, such as after_setup_theme. Do not hide the notice as a fix: reproduce the page with private logging and confirm it disappears after the change.
Do not downgrade WordPress to 6.6 or any other unsupported version: a regression can reopen vulnerabilities that have already been fixed.
If only one string or one language fails
Compare the site language with the administrator's profile language and check that the translation of that string exists in the component's pack. An incomplete translation is not the 6.7 regression. After updating the pack, purge the affected cache and test the same screen.
The official WordPress 6.7 internationalisation note explains calls made too early. Keep the text domain and the trace when you report the case to the developer; do not edit language files that will be overwritten by the next update.
You may also find useful
- 404 errors on static files slow down browsing Detect missing static resources that trigger PHP and use CPU, serve them as lightweight 404s and gui...
- Debug errors in WordPress Find WordPress blank screens and internal failures by sending WP_DEBUG to a private log, without sho...
- Diagnose "Missed schedule" Check why a scheduled post was not published before replacing WP-Cron with a server task.
- Diagnose Sodium cryptographic errors in WordPress Tell a missing Sodium extension apart from an invalid argument in sodium_compat before changing the...
Something wrong or out of date? Tell us and we will review it.