setlocale.sh can break user-chosen locales and encodings
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kde-runtime (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Country/Region & Language setting is very keen to write ~/.kde/
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
even when the Country is not United States of America.
To reproduce:
1. In Country/Region & Language setting, Country is United Kingdom (in my case). Also note that ~/.kde/
2. Make some change (I changed Short date format from DD/MM/YY to YYYY-MM-DD) and click Apply.
3. Note that setlocale.sh has been written as above, with en_US values.
This means that when KDE is restarted, all LC_* variables are en_US.UTF-8 instead of the previous values of en_GB.UTF-8.
One workaround is to delete ~/.kde/
Another workaround is to set the Preferred Language as well as making the other required change (Preferred Languages was previously empty on my system). Setting this to British English causes ~/.kde/
export LANG=en_GB.UTF-8
export LANGUAGE=en_GB:en
Now there's an extreme demonstration of the problem. With Country set to United Kingdom, clicking Defaults subtly changes the Country to System Country (United Kingdom). Clicking Apply then changes the contents of setlocale.sh from the en_GB values to en_US values, even though other settings (Money, etc.) are appropriate for the UK.
Expected behaviour:
~/.kde/
necessary to write it (LC_* variables are set elsewhere).
Originally reported to KDE at https:/
ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: systemsettings 4:4.10.5-0ubuntu0.1
ProcVersionSign
Uname: Linux 3.8.0-26-generic x86_64
NonfreeKernelMo
ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
Date: Tue Jul 23 17:47:07 2013
EcryptfsInUse: Yes
ExecutablePath: /usr/bin/
InstallationDate: Installed on 2012-01-02 (568 days ago)
InstallationMedia: Kubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MarkForUpload: True
ProcEnviron:
LANGUAGE=en_GB:en
PATH=(custom, user)
XDG_RUNTIME_
LANG=en_GB.UTF-8
SHELL=/bin/bash
SourcePackage: kde-workspace
UpgradeStatus: Upgraded to raring on 2013-04-27 (87 days ago)
Changed in kdebase-workspace: | |
importance: | Unknown → Medium |
status: | Unknown → Incomplete |
Changed in kdebase-workspace: | |
status: | Incomplete → Unknown |
no longer affects: | kdebase-workspace |
no longer affects: | kde-workspace (Ubuntu) |
Country/Region & Language setting is very keen to write ~/.kde/ env/setlocale. sh with the contents:
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
even when the Country is not United States of America.
To reproduce:
1. In Country/Region & Language setting, Country is United Kingdom (in my case). Also note that ~/.kde/ env/setlocale. sh doesn't exist. I'm using Kubuntu.
2. Make some change (I changed Short date format from DD/MM/YY to YYYY-MM-DD) and click Apply.
3. Note that setlocale.sh has been written as above, with en_US values.
This means that when KDE is restarted, all LC_* variables are en_US.UTF-8 instead of the previous values of en_GB.UTF-8.
One workaround is to delete ~/.kde/ env/setlocale. sh after making the required changes in System Settings.
Another workaround is to set the Preferred Language as well as making the other required change (Preferred Languages was previously empty on my system). Setting this to British English causes ~/.kde/ env/setlocale. sh to be written with the contents:
export LANG=en_GB.UTF-8
export LANGUAGE=en_GB:en
Now there's an extreme demonstration of the problem. With Country set to United Kingdom, clicking Defaults subtly changes the Country to System Country (United Kingdom). Clicking Apply then changes the contents of setlocale.sh from the en_GB values to en_US values, even though other settings (Money, etc.) are appropriate for the UK.
Expected behaviour:
~/.kde/ env/setlocale. sh should not be written if it doesn't exist and it's not
necessary to write it (LC_* variables are set elsewhere).