Bug 452714 - `en` language fallbacks incorrectly to second language
Summary: `en` language fallbacks incorrectly to second language
Status: RESOLVED DUPLICATE of bug 192019
Alias: None
Product: frameworks-ki18n
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.93.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Chusslove Illich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-18 03:17 UTC by tusooa
Modified: 2022-04-18 15:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 ***