Bug 452714

Summary: `en` language fallbacks incorrectly to second language
Product: [Frameworks and Libraries] frameworks-ki18n Reporter: tusooa <tusooa>
Component: generalAssignee: Chusslove Illich <caslav.ilic>
Status: RESOLVED DUPLICATE    
Severity: normal CC: kdelibs-bugs, nate
Priority: NOR    
Version: 5.93.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description tusooa 2022-04-18 03:17:57 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***
Using LANGUAGE=en:xx will cause programs incorrectly fallback to xx language, instead of using English.

STEPS TO REPRODUCE
1. Have zh_CN locale and corresponding translations for systemsettings on the machine.
2. LANGUAGE=en:zh_CN systemsettings --help
3. LANGUAGE=en_US:zh_CN systemsettings --help
4. LANGUAGE=en_CA:zh_CN systemsettings --help

OBSERVED RESULT
In 2 and 4, the help information is partly English and partly Chinese.
In 3 it is fully English.

EXPECTED RESULT
They should all be in fully English.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 5.16.12-gentoo-x86_64 / 5.24.4
(available in About System)
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.93.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
This can also be confirmed using the following programs:
kwin_x11, plasmashell, okular, ark, konqueror

Non-ki18n-based applications (pure gettext, e.g. `ls` in coreutils) give fully Chinese output, even if the first LANG is en_US.
It seems ki18n is doing *some* workaround here, but not fully.
Comment 1 Nate Graham 2022-04-18 15:31:55 UTC
Yes, you should never put any other language after English, as it triggers bugs in some apps that make bad assumptions that the C locale is the same as English. See Bug 192019 for an explanation of what happens and why.

if you want to see Chinese, put Chinese first in the list, and then English after it--not the other way around.

*** This bug has been marked as a duplicate of bug 192019 ***