Full locale coverage

Currently in Manjaro /etc/locale.conf only have set some of the full set of locale variables:

LANG="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"

This makes some applications to have weird behaviors. For example I cannot enter commas on the calculator or Thunderbird thinks that surnames are names.

These are gone when setting all the variables. So I suggest having something like this:

### LANGUAGE ###
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8

### FORMATS ###
LC_ADDRESS=es_ES.UTF-8
LC_CTYPE=es_ES.UTF-8
LC_IDENTIFICATION=es_ES.UTF-8
LC_MEASUREMENT=es_ES.UTF-8
LC_MONETARY=es_ES.UTF-8
LC_NAME=es_ES.UTF-8
LC_NUMERIC=es_ES.UTF-8
LC_PAPER=es_ES.UTF-8
LC_TELEPHONE=es_ES.UTF-8

### INVARIABLE ###
LC_COLLATE=C
LC_TIME=C

The "Invariable" section contains all the variables that shall always be the same for any location. "Collate" makes ls show dot files before non dot files, and "Time" makes the time format to always follow the ISO standard.

If you agreed with this change, and point me to which code should be updated, I could make the merge request myself.

1 Like

I use Ireland as locale. I want English, metric, European style.

es_ES.UTF-8 is just an example. The value will be set by the installer and will be adjustable by the user as always.

The additional LC_... variables are what matters.

1 Like

en_FI.UTF8 would be great for Finnish users who wish to have the system language set in English, with Finnish formats.
Right now Manjaro offers fi_FI.UTF8, meaning that week and month names are in Finnish. This causes situations such as the calendar widget in KDE having a mixture of English and Finnish. KDE has en_FI.UTF8, but the terminal starts to complain about misconfigured locale, if one selects it for formats.

journalctl logs are also using Finnish month names.

Do you get this behavior with manjaro-architect or calamares? They each have their own locale handling.

Calamares is in https://github.com/calamares/calamares

And manjaro-architect is here:

How does en_FI.UTF8 look in /etc/locale.conf?

en_FI is not supported in locale.gen then by glibc

This system was installed using Architect.

1 Like

Not supported by Manjaro as a system language, so it's not there.

Okay. I will look into it in September when I hopefully have a working computer. If you can send a pull request, I'm happy to merge it. If you don't yet have write access to the repo, you can request it in gitlab.

Did you install with calamares or manjaro-architect? Manjaro-architect supports setting language and locale separately. I usually choose finnish for formats and english for language. I haven't tested how that looks in kde, but in gnome it gives quite satisfactory results.

Calamares.
The combo of en_GB and fi_FI is hit and miss on KDE. The glaring oddity is the use of Finnish names in dates amidst all the English.

Can you post you locale.conf?

Here's locale.conf:

LANG=en_GB.UTF-8
LC_NUMERIC=fi_FI.UTF-8
LC_TIME=fi_FI.UTF-8
LC_MONETARY=fi_FI.UTF-8
LC_PAPER=fi_FI.UTF-8
LC_NAME=fi_FI.UTF-8
LC_ADDRESS=fi_FI.UTF-8
LC_TELEPHONE=fi_FI.UTF-8
LC_MEASUREMENT=fi_FI.UTF-8
LC_IDENTIFICATION=fi_FI.UTF-8

Here's plasma-localerc as well:

[Formats]
LANG=en_GB.UTF-8
LC_MEASUREMENT=fi_FI.UTF-8
LC_MONETARY=fi_FI.UTF-8
LC_NUMERIC=fi_FI.UTF-8
LC_TIME=fi_FI.UTF-8
useDetailed=true

[Translations]
LANGUAGE=en_GB

I have to specify formats here as well, or they default to en_GB ones. Using en_FI would result in the following console output for inxi, for example:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB",
        LC_ALL = (unset),
        LC_ADDRESS = "fi_FI.UTF-8",
        LC_NAME = "fi_FI.UTF-8",
        LC_MONETARY = "en_FI.UTF-8",
        LC_PAPER = "fi_FI.UTF-8",
        LC_IDENTIFICATION = "fi_FI.UTF-8",
        LC_TELEPHONE = "fi_FI.UTF-8",
        LC_MEASUREMENT = "en_FI.UTF-8",
        LC_TIME = "en_FI.UTF-8",
        LC_NUMERIC = "en_FI.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").

@Chrysostomus

What happens if you add

LC_MESSAGES=en_GB.UTF-8
?
Also, if you want to use en_FI, you need to make it yourself like this:

https://www.linux.fi/wiki/Keskustelu:Locale

We might look into packaging that locale at some point, but it might be a bit difficult at the moment.

Just in locale.conf? Tried it, but still getting the same errors with KDE formats as en_FI

Just a reminder.. whatever you change in kde regionals setting will override things defined in /etc/locale.conf
KDE write its config in ~/. config/localerc and ~/.config/locale.sh (I'm not sure about the name right now I'm not in my computer).
The 2nd file above (the script) will export all the locale defined in this file at plasma startup and override the locale defined in /etc/locale.conf.

While kde accept some locale (en_FI or en_CH) those locale are not supported by all.. or glibc

I only got ~/.config/plasma-localerc

There should be also a shell script.. i don't remember the exact name..

This one is just used by the module.. when you save it create a shell script with all export.

Found it under /etc/profile.d

Forum kindly sponsored by