Cannot add variant of ES language

I go to System Settings > Region & Language, and while all other settings here can be changed to another variant, say es_AR or es_CO, the very first setting Language cannot, because there’s no such thing in the available options; at most “español de España”.
Furthermore, I get a red message saying ‘The language “es_ES” is unsupported’.

Using as root the command “localectl set-locale […]” works, but yields absolutely no differences.
The command “locale” still shows everything in “es_ES […]”.

No luck with Yast neither.

Could someone help?
Thanks.

Does just “es” work?

It is not clear what you are talking about. Some desktop settings? the which desktop?

Did you check if YaST > Software > Software Management and then from the View > Languages has your language(s). When no , why not. When yes is/are it/they there to be installed. Or are they installed already?

Output:

test1@localhost:~>locale
LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=
test1@localhost:~>

I’d like to change them -or at least $LANG- to “es_CO”, or any other variant es_AR, es_MX, etc.
Also in System Settings > Region & Language > Language.

Setting with command “localctl” does not help.
In YaST > Software > Software Management, then View > Languages, there are only “myspell-*” packages, and installing them makes no difference at all.

Was this clearer?

So, just to clarify, you want to set your locale to es_CO or es_AR, etc. but it is not available for you?

If so, can you check the content of the file /etc/locale.gen? If the locales you wish to use are commented with #, uncomment them and save the file. Then run sudo locale-gen

After that check again if they are available for choosing.
I think that should work in openSUSE as well, can’t verify it now.

And as @hcvv already asked: which DE are you using? Some are overwriting locale settings with their own ones.

I wonder if you are confusing two things. YasT covers the hardware - that you are using a Spanish keyboard layout. System settings allows a software change to the layout; it will not allow you to change the setting in YasT, only to change the layout you are currently using. When you add a layout, an icon representing that layout appears in the system tray; if you add multiple layouts you can cycle through them. I currently have French and German layouts set in System settings while my keyboard is a GB layout. So I can swap between British English, French and German at will.

He is NOT trying to do something on the input side, the keyboard. He is trying to do something on the output side, the language that messages are translated into and are displayed in. And related stuff that belongs to a locale, like how his amounts of money displayed, what is used as character to separated numbers from fractions, etc. Has all nothing to do with any hardware at all.

But I admit that YaST > Languages and “System settings” are different things, where the latter is a Desktop configuration for the individual user. (and the OP still did not tell us which desktop :frowning: )

No. You neither answered the question “what is your desktop environment” nor showed what you were doing.

The standard place to set local variables per-user is ~/.i18n file. But this file is processed by login shell so it may not have any effect for other interactive shells. The standard place to set locale variables system-wide is /etc/locale.conf which is the file edited by YaST ot localectl. But display manager or desktop environment may have their own settings which override system wide ones for the GUI session.

Which neither describes what you did, nor shows the result nor explains what exactly “does not help” mean.

Show your invocation of localectl and its result (including current status, output of localectl). Explain where do you see the wrong language. Provide full command and its output you use to demonstrate the wrong language if it is terminal (and explain how this terminal was started - local console, terminal program in GUI session, SSH session) or screenshot if it is GUI program. Finally tell us what desktop environment you are using.

Yes, sorry for all that.
Desktop environment is KDE.

Both in System Settings > Region & Language, and by issuing command
locale
I see everything by default set to “es_ES” locales.

I tried
sudo localectl set-locale es_AR.UTF-8
then

test1@localhost:~> localectl
   System Locale: LANG=es_AR.UTF-8
       VC Keymap: latam
      X11 Layout: latam
       X11 Model: microsoftpro
     X11 Options: terminate:ctrl_alt_bksp
test1@localhost:~>

but still:

test1@localhost:~>locale
LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=
test1@localhost:~>

And in System Settings > Region & Language still everything to es_ES…
All of this even after rebooting/logging out and back in.

Yes, as I already mentioned, KDE has its own locale settings which override system-wide defaults. If you want es_AR in KDE, select es_AR in KDE.

You can delete ~/.config/plasma-localerc and next time you log in KDE regional settings will be taken from the current POSIX locale and again stored persistently, so it won’t be affected by changes to system defaults in the future.

I am not aware of any possibility to configure KDE to just follow POSIX locale except removing ~/.config/plasma-localerc before each KDE session startup.

Thanks very much sir.

I changed locale again with the “localectl set-locale” command; this time then deleted ~/.config/plasma-localerc, logged out and back in to desktop.

Finally worked.
How do I mark thread as SOLVED?

You showed what you did (thanks for that) and you said you are happy. That is enough.

Thanks, but I meant that practice of suffixing the thread title with “SOLVED” (or some other sign) precisely for users to find solved threads easily…