So ever since I installed Kubuntu on the computer I'm using right now I've had locale issues, which I'll admit is nothing new or unique to Ubuntu/Linux. I'm trying to set things up so that my keyboard and general locale (time, date, etc) settings are Swedish but the system language is otherwise English since that makes things so much easier.
Right now my /etc/default/locale
looks like this:
LANG=en_US.UTF-8
LANGUAGE=en_US:sv
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=sv_SE.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
LC_IDENTIFICATION=sv_SE.UTF-8
LC_ALL=
And I have set KDE Plasma translations (Regional Settings -> Language) to American English
first and svenska[sic]
second.
Keyboard layout is also set to Swedish and works.
Under Regional Settings -> Formats I've tried setting Region to United States - American English (en_US)
with Detailed Settings on and everything set to Sverige - svenska (sv_SE)
there.
In Xorg everything seems to be in English as it should but in the terminal I keep running into programs that insist on Swedish output. For example:
$ sudo apt-get update
Bra:1 http://repository.spotify.com stable InRelease
Bra:2 http://archive.ubuntu.com/ubuntu focal InRelease
Bra:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Bra:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Bra:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Läser paketlistor… Färdig
Does anyone know what setting I'm missing here? Surely I should be able to force this system to default to American English for the language while still retaining sane formatting for date and time?
Or is there some good alternative "en_SE" locale I can install that won't break horribly the next time I run a dist-upgrade?
Best Answer
You have in
/etc/default/locale
(or more likely in your output from thelocale
command):That's wrong.
en_US
translation files are usually empty, sinceen_US
is the original language. And whengettext
does not find anen_US
translation for a string, it falls back to Swedish in some cases.So change that somehow to: