"invalid" locale settings using KDE settings Format

Short version

locale was set using KDE but no such thing exists in /usr/share/locale.

Long version

I have setup my locale using the settings window like the following:

Checking the locale would show:

locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_FI.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_FI.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_FI.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

I then realized some softwares stopped working and/or throwing errors including rofi and R.

I’m no expert, but according to many developers [1, 2] and community [3]:

en_FI is not a valid locale to begin with.

While searching I stumbled upon the following:


I would like to emphasize that the en_FI.UTF-8 should be a thing (if it is not already) as not everyone living in Finland speaks Finnish. (fi_FI, sv_FI are already there and en_FI is what many would need/want)

We have had a lot of issues with KDE over time and yours in excellent example of the locale issues with KDE.

Indeed there is no such thing as en_FI neither does a sv_FI exist - at least when judging from the default locale.gen file for Manjaro (inherited from Arch)

➜  ~ grep -i fi < /etc/locale.gen
# Configuration file for locale-gen
#  A list of supported locales is included in this file.
#fi_FI.UTF-8 UTF-8  
#fi_FI ISO-8859-1  
#fi_FI@euro ISO-8859-15  
#fil_PH UTF-8  
#sv_FI.UTF-8 UTF-8  
#sv_FI ISO-8859-1  
#sv_FI@euro ISO-8859-15  

Thanks for the reply, but you have a typo which makes your statement slightly wrong. There is sv_FI but you forgot to put the -i in your grep to make it case insensitive :wink:

cat /etc/locale.gen | grep -i fi
# Configuration file for locale-gen
#  A list of supported locales is included in this file.
#fi_FI.UTF-8 UTF-8
#fi_FI ISO-8859-1
#fi_FI@euro ISO-8859-15
#fil_PH UTF-8
#sv_FI.UTF-8 UTF-8
#sv_FI ISO-8859-1
#sv_FI@euro ISO-8859-15

It might not be if any significance, but I was under the impression that the /usr/share/locale and /etc/locale.gen both have all entries of locale but: