This was once discussed in the old Ideas repo and addressed in a subsequently postponed draft PR:
Currently, if a single-language site’s default language is other than EN
, plugin UI output is rendered in English even if a suitable translation exists.
While a workaround is possible (in the linked Idea issue), it would still be great if plugins could display their UI texts based on a global locale without the need to override the I18n config on a template basis.
I have the same problem with Merx.
Maybe the locale option could be used to set Kirby\Toolkit\I18n::$locale
for single-language sites?
Locale and language are not the same, but now that I think about it again: Couldn’t we extract the language code from the locale
option? The format of this option is always (?) LANG_COUNTRY.ENCODING
, so a simple Str::before($locale, '_')
should do the trick.
To be honest I feel like we mixed the terms locale and language in too many places in our code already. In the current state it’s quite inconsistent and I think we would need to refactor the language and locale code first before we can safely integrate this feature.