SUMMARY The regionandlang KCM has a warning specific to American English that states: "Putting American English above other languages will cause undesired behavior in some applications. If you would like your system to use American English, remove all other languages." Users of e.g. Fedora are forced to choose an English variant among many, so American English isn't always in the language list. Additionally, this warning also applies to any other variant of English like en_GB or en_AU just as much as en_US. Therefore I propose that this warning should be displayed whenever any English variant is in the list, not just en_US, and state: "Putting English above other languages will cause undesired behavior in some applications. If you would like your system be entirely in English, remove all other languages." In Bug 465373 a reasoning was given: "Why we only have warning for en_US? Because en_US is KDE's default locale, in KDE, en_US == C. That's means any language below en_US won't be displayed." All of that is true, but it's also true if en_GB is the top language and the user adds another language. Their system won't be entirely in English any more. SOFTWARE/OS VERSIONS Operating System: Fedora Linux 37 KDE Plasma Version: 5.26.5 KDE Frameworks Version: 5.102.0 Qt Version: 5.15.8 Graphics Platform: X11
Ultimately this may prove to be insufficient and we'll need to try again to do https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1087. But for now let's fix this and see if it helps.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2593
Git commit aaf42575e497a4aa6a856d518fdbafaf77ae7537 by Nate Graham. Committed on 10/02/2023 at 14:06. Pushed by ngraham into branch 'master'. kcms/region/language: Warn for more invalid language combinations We currently warn the user when they configure American English (en_US) as their first language with any other languages underneath it--because it causes a mix of languages to be shown in the UI and confuses the heck out of people. But we only check if the top language is en_US! There are other Englishes too that technically count as full languages--such as en_GB. If the user makes en_GB their top language and then puts any other non-English language under it, the same thing happens as the system will fall back to the second non-English language for any string that isn't found in the British English translation catalogue, which turns out to be a lot. What a person using en_GB actually wants is to fall back to en_US, which is the implicit default and happens when there are no other languages configured beneath en_GB. To fix this, let's change the check to encompass all en_* languages, not just en_US. Hopefully making the warning text appear for these use cases will be good enough and we won't have to do something drastic like secretly insert en_US after the last non-en_US English language, and C after the last en_* language of any kind when there are other non-en_* languages underneath it in the language list. FIXED-IN: 6.0 M +1 -1 kcms/region_language/languagelistmodel.cpp M +1 -1 kcms/region_language/package/contents/ui/AdvancedLanguageSelectPage.qml https://invent.kde.org/plasma/plasma-workspace/commit/aaf42575e497a4aa6a856d518fdbafaf77ae7537