Fixing locale problem in ArchLinux

For some reason that I still don't know, after doing the usual ... setting the es_ES language in the new KDE 5 installation, several applications stopped working. When (to see the error log) I ran them in a terminal, the following appeared:

terminate called after throwing an instance of 'std :: runtime_error' what (): locale :: facet :: _ S_create_c_locale name not valid

what does this mean?

That you have a language configured that the system has not 'caught' or accepted at all well.

How to solve it?

Simple, we must configure the local or system languages ​​well, which is what I will teach you to do 😀

1. First we must know what language we are going to use (obvious thing haha), suppose we will use: es_ES

2. Now we are going to open the premises listing file:

sudo nano /etc/locale.gen

3. There we will look for the following line in the file and uncomment them:

# en_ES.UTF-8 UTF-8

Uncomment means to remove the pound sign (#) from the beginning of that line.

That is, we will leave it like this:

en_ES.UTF-8 UTF-8

4. Ready, now we are going to generate the premises again:

sudo locale-gen

5. After having done this we are going to check the /etc/locale.conf file:

sudo nano /etc/locale.conf

It should look like this:

LC_ALL = C LANG = es_ES.UTF-8 LC_COLLATE = es_ES.UTF-8

It happened to me that the first line (LC_ALL = C) was not added automatically, in case it is not applications will not work!

On some other sites you will see that they recommend the following command:

export LC_ALL = C

It is the same completely valid 😉

The end!

Well nothing that. This gave me a good headache yesterday at home, because the line referring to LC_ALL = C was not being written in the .conf file, I don't know why ... well, applications like TeamSpeak or GParted didn't work. Maybe it has to do with what KDE 5 is ... but maybe not (I don't think it's KDE's fault).

Anyway, I hope it's useful to someone 🙂


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   mat1986 said

    I don't know if it is the same, but when I installed Archbang and configured the Spanish language in Chile (es_CL) it did not change the default system language (English). So what I did was add, in addition to es_CL, the Spanish of Argentina (es_AR). Once the locale.gen was generated and restarting there, it did change the system language to Spanish. Weird thing, I would have to test your method when reinstalling Archbang.

    Thanks for the tip 🙂

  2.   AqMont said

    Thanks; D
    I made the wrong choice (my fault for being distracted) and the system came out in Euskera XDD
    I had to add the first and third lines manually with nano xq did not put them either, but nothing important 🙂
    All the best

  3.   Baphomet said

    Even though I run sudo locale-gen, it doesn't create the /etc/locale.conf file for me. I still have no accents in the terminal.