Difficulty: ★☆☆☆☆
This is not meant as a complete tutorial but rather an addition to the existing ones if you use plasma.
As a non native English speaker you might want to change locale settings to fit your local language but still keep some settings in English. There are a few tutorials out there, I thought a specific one for plasma could be needed. But here is a general one that I recommend giving a read first.
In this example I will use English as the os language, but set a few locale variables to Swedish and C (C is very useful if the English version, sorting for example is not doing what you want it to).
Start by configuring your locale by editing:
sudo nano /etc/locale-gen
You can either remove the # in front of the language/languages you want to use or just add them at the bottom for you to find them more easy if you come back to the file at a later stage. (Calamares might have already added locales at the bottom of the file, in that case make sure the locale/locales is defined only once in the file)
In my case it is:
en_US.UTF-8 UTF-8
sv_SE.UTF-8 UTF-8
Run: sudo locale-gen
to create the locales.
Now open Settings > Regional Settings
In here set everything as you want it, for me everything except Time and Language is set to Swedish. I do not want time to be in Swedish (weekdays etc would be in Swedish, I want that in English).
But at the same time, the date format in US do not fit my preference, but the C locale does, so I click modify and set time to C.
These settings will be saved in ~/.config/plasma-localerc
[Formats]
LANG=en_US.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
LC_MONETARY=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_NUMERIC=sv_SE.UTF-8
LC_PAPER=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_TIME=C
[Translations]
LANGUAGE=en_US
Edit /etc/locale.conf
and make sure LANGUAGE
and LC_ALL
is commented out with a # (or they will override the variables) and that the rest of the locales are set as you set them in plasma:
sudo nano /etc/locale.conf
And here is the trick:
Since we have set the locale in plasma, that is the locale that will be used in plasma (in my example time is set to C) but if I set time to C in locale.conf the login screen will also show seconds, I do not want that so I opt to use the US time here (defined by LANG
) ie I do not set LC_TIME
here (comment it out).
Sorting is also not working as I want it, but there is no setting in plasma for that, but fear not, you can use locale.conf and set LC_COLLATE
to fix that:
#LC_ALL=
LANG=en_US.UTF-8
#LANGUAGE=en_US.UTF-8
LC_COLLATE=C
LC_NUMERIC=sv_SE.UTF-8
#LC_TIME=C
LC_MONETARY=sv_SE.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
Log out (or reboot if you want to make sure your login screen displays the time correctly) and login again.
I use SDDM so I reboot to see the changes take effect on the login screen.
We can now see what variables are in use (in plasma) by echoing them:
$ echo $LC_TIME
C
$ echo $LC_COLLATE
C
$ echo $LC_MONETARY
sv_SE.UTF-8
There is also the Manjaro Settings Manager, I THINK you might be able to do the settings in locale.conf here, but I have not tested this (the above is tested and works). You can NOT set C in there though, that is why I opted to not include that feature when configuring this on my computer.
Hope this helps.