MULTIPLE LANGUAGES CONFUSION

Hello !

This post is about multiple languages in openSuSE. I am located in Norway,and using a Norwegian keyboard (æ, ø, å). My PC is set up with us-English as the primary language as I find that convenient because the documentation is in English. My correspondence is mostly in Norwegian but some is in German, so I have selected those two languages as well. Now, let me take a look at the yast menu and tell what I find there.
yast menu, left: … / System / Nettverkstjenester / Sikkerhet og brukere / Virtualization / Brukerstøtte / … (this is not bad, System is Norwegian as well, and Virtualization is almost)
yast menu, right: … / AppArmor / Brannmur / Security Center / Administrasjon av bruker og grupper / …

How to replace these and similar translations into more or less precise Norwegian with (us-)English?

Best regards,
Jan Christian

Please be aware of the different things involved here.

Your keyboard definition e.g. has nothing top do with the language you prefer. It only tells the system what type of keyboard is attached, so it can correctly translate the keyboard codes (the keyboard generates numbered code for every press and release of a key) into the character codes (Unicode, which includes ASCII). No language “knowledge” involved.

The language defined in the environment variable (LANG=) is used to influence the output of messages done by applications. Thus if an application has multi language versions of a certain message, it will output the one that corresponds to the value of LANG (if it has one).
Example:

mgi@boven:~> ls -l hoop
ls: cannot access 'hoop': No such file or directory
mgi@boven:~> LANG=nl_NL.UTF-8 ls -l hoop
ls: kan geen toegang krijgen tot 'hoop': Bestand of map bestaat niet
mgi@boven:~

I can understand that you want to use English as your system language (and thus as user root) because then relations between messages and documentation (and courses you followed) is easier. In fact you do not need English for that, but LANG=POSIX (and LANG=C works the same AFAIK).

Any user on your system may prefer another language in her/his environment. Something you define in e.g. KDE (or for the bash in .profile). But that is for the user and every user may define something different. And this has of course nothing to do with YaST,because YaST is a system management tool and works on the system level.

I think I did not make my point clear enough, sorry for that!

Your keyboard definition e.g. has nothing top do with the language you prefer. It only tells the system what type of keyboard is attached, so it can correctly translate the keyboard codes (the keyboard generates numbered code for every press and release of a key) into the character codes (Unicode, which includes ASCII). No language “knowledge” involved.

Believe it or not, I am aware of that!

The language defined in the environment variable (LANG=) is used to influence the output of messages done by applications. Thus if an application has multi language versions of a certain message, it will output the one that corresponds to the value of LANG (if it has one).

Hopefully you believe me when I say that I am aware of that as well!

But as I tell in my mail, the yast menus are in Norwegian AND English for the same item (

yast menu, right: … / AppArmor / Brannmur / Security Center / Administrasjon av bruker og grupper / …
).
I gather that your opinion of my person is on a very low level (which might be correct), but you have failed to explain why / how yast has dual language menus.

And - to set things right - I am sure that I have an extremely higher opinion of you than you have of me.

Best regards,
Jan Christian

You introduced the keyboard in the story. And you now explain you know it has nothing to do with your question.

I assume that the language mix has to do with inadequate translations. Probably help is needed from someone that can translate new/changed terms from English into Norwegian. I see sometimes the same in my Dutch language environment.

You could file a bug report for this. The result could be that they see they forgot to translate things and repair. It could also be that they say, sorry, but our volunteer Norwegian stopped with this task. In the latter case, they could suggest that you take over :wink: .

I would prefer replacing the Norwegian expressions with English such. Here is an example as to cray the translations could be (have been): *Backspace’ to Norwegian —> ‘Tilbakeslag’ to English —> ‘Setback’.
Short: When I have chosen (US-)English as my preferred language, I want the menus in that language and not in a ‘langue.salad’.

I will follow your suggestion and file a bug-report.

RGDS,
Jan Christian

At the very least, show output of “locale”.

Which desktop environment are you using?
For multiple languages, Gnome is quite easy to configure, KDE-Plasma can be a little bit less simple and MATE/XFCE are a bit tricky.

Thanks for the suggestion, I find it interesting.; ref below. As revealed in a previous post, I have chosen us-English as my default language when installing Tumbleweed, I find no indication of that. Why not utilizing the ISO/EC 8859-1 standard?
And when writing in German, I often use the ß (ss or sz) and … What about switching keyboard layout when switching language?

Output of “locale”:
LANG=nb_NO.UTF-8
LC_CTYPE=“nb_NO.UTF-8”
LC_NUMERIC=“nb_NO.UTF-8”
LC_TIME=“nb_NO.UTF-8”
LC_COLLATE=“nb_NO.UTF-8”
LC_MONETARY=“nb_NO.UTF-8”
LC_MESSAGES=“nb_NO.UTF-8”
LC_PAPER=“nb_NO.UTF-8”
LC_NAME=“nb_NO.UTF-8”
LC_ADDRESS=“nb_NO.UTF-8”
LC_TELEPHONE=“nb_NO.UTF-8”
LC_MEASUREMENT=“nb_NO.UTF-8”
LC_IDENTIFICATION=“nb_NO.UTF-8”
LC_ALL=

Best regards,
Jan Christian

So your locale is set to Norwegian (as far as I understand). Application quite correctly attempts to use Norwegian translation. Two possible cases - translation is incomplete or application is using different translation for some reason. The latter would be a bug. The former … of course could be reported as a bug, but it won’t magically fix it - someone needs to actually invest time and efforts to improve translations.

I am using KDE. Languages are set in yast, primary language is English(US), secondary languages are German and Norwegian.

RGDS,
Jan Christian

Reminder to what I explained above.

YaST manages the system language and as such influences the locale of root.

Each user can set his own language (and other locale variable) and thus may have a different locale. (I am not sure which locale was posted above because the prompt/command line was not copied pasted with the output :().

******Just another example to emphasize my point:


localhost:/home/ANKER #** wireplumber
Failed to connect to session bus: Tilkoblingen er lukket
**M 17:01:27.054630 **** pw.core **…/src/pipewire/core.c:190:destroy_proxy: 0x55a67cb016e0: leaked proxy 0x55a67cb818e0 id:6
**M 17:01:27.054693 **** pw.core **…/src/pipewire/core.c:190:destroy_proxy: 0x55a67cb016e0: leaked proxy 0x55a67cb618c0 id:7
**M 17:01:27.054703 **** pw.core **…/src/pipewire/core.c:190:destroy_proxy: 0x55a67cb016e0: leaked proxy 0x55a67cb81a00 id:8
**M 17:01:27.054746 **** wireplumber **…/src/main.c:346:on_disconnected: disconnected from pipewire
localhost:/home/ANKER # pipewire-media-session
Hvis ‘pipewire-media-session’ er riktig skrevet, må du kanskje bruke command-not-found for å finne pakken som inneholder kommandoen, på denne måten:
cnf pipewire-media-session
localhost:/home/ANKER #

RGDS,
Jan Christian

First, please use CODE tags. And avoid copy/paste that preserves those colours. Makes reading a bad experience.

Then, it depends on how you “became root”.
The fact that your working directory is /home/ANKER lets me assume that you did not use e.g.

su -

and thus still have the environment of user ANKER.

Sorry for copying off the screen, I thought I should report as exact as possible; I have never used it before as far as I remember.

ANKER@localhost:~> su 
Passord:  
**localhost:/home/ANKER #** sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman 
Systemadministrasjonen er låst av programmet med pid 9075 (/usr/bin/ruby.ruby3.1).
Lukk dette programmet før du forsøker igjen.
**localhost:/home/ANKER #** sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman 
Legger til pakkebrønn 'packman' ...............................................................................................................[fullført] 
Pakkebrønnen 'packman' ble lagt til

The above is copied from the screen. In you post, you implied that I am cheating, I am not. What I wanted to stress, is that there may be a problem with openSUSE, you seem to focus on your assumption that there is a problem with me.

Before ending this mail: At my PC, there is one superuser: ‘ANKER’, and one user: ‘ANKER’, none less and none more. Hopefully, this is not too confusing.

While it might be true that we do not understand from each other what we are trying to communicate, I hope I never gave the idea that I think you are cheating.

there is one superuser: ‘ANKER’, and one user: ‘ANKER’, none less and none more.

Sorry, this is confusing.
On a Unix/Linux system there is only one superuser: root.
And you may have added only one normal user for your day-to day work: ANKER.

But in fact there are many more users. Take a look at /etc/passwd. And the number of users is

wc -l /etc/passwd

But that is not too important. They are just there and some of them have their use, but none of the others is involved with your problem.

But from my position, you did not understand what I said about the Norwegian text created by wireplumber (whatever that may be). It depends on how you “become root”.

henk@boven:~> su
Wachtwoord:
boven:/home/henk # wireplumber
Als 'wireplumber' geen typefout is dan kunt u command-not-found gebruiken om het pakket op te sporen dat het bevat, zoals deze:
    cnf wireplumber
boven:/home/henk # exit
exit
henk@boven:~> su -
Wachtwoord:
boven:~ # wireplumber
If 'wireplumber' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf wireplumber
boven:~ # 

Remark the difference between when I use su and su - (I see that you use sudo, which I never do, of I assume that in this aspect it is like su).
The difference is that su - does a login for root, which su doesn’t.

  • Thus for su the environment is stull the same: the working directory is /home/henk and the language is Dutch.
  • See that su - changes the working directory to the home directory of root (/root) and the language is set to Engslish.

My PC sits in my office at home. Nobody else has access to the PC. When I installed Tubleweed three wweks ago, I opted for ‘ANKER’ as ‘su’ and ‘user’.

As I see it, our ‘discussion’ does not do much to address what I think is a flaw: The documented mix of languages in Opensuse.

BTW: Have you heard the story about the guy who went to the Zoo for the first time in his life. At the giraffe, he looked at the strange animal and concluded ‘such animals don’t exist’ ?

Have you heard the story about the guy that couldn’t notice when dash is present in commands?

On another note: I already find bizarre usage of “sudo su”, but “sudo” inside a “su” session, that’s another level of bizarre.

I see a lot of those on these forums and elsewhere on the Internet. I keep quiet about it. I also see a lot of:

 cat file | command

while just

command < file

would be simpler.

In the control center, you can edit/add/remove your preferred language(s) and set their priority order.
In your home directory, you can allso set your first language by editing the “.profile” file with, for example: export LANG=fr_BE.UTF-8.

My experience with multiple languages has learned me to do so:

  1. Install the system
  2. Once the system is installed and after the first boot, go to a virtual console (no graphical login!), choose/install your languages in yast2 and set your users
  3. Exit yast2
  4. If you want a user has another language than the system language, edit the file /etc/locale.conf and set the wanted language.
  5. Reboot
  6. When the sddm screen appears, control if it uses the wanted language
  7. Login the user
  8. Go to the control center and set the language order + the local parameters
  9. Logout and login

If you want your system to have another language than the one of your user, you can edit and adapt again the /etc/locale.conf file

Sorry, I do not understand. How did you do this?

Did you - at install time when you created user “ANKER” - select the option “Use this password for system administrator” (Installation steps | Start-Up | openSUSE Leap 15.5)?

Or did you use some other way to make the user “root” (uid=0) to be called “ANKER” as well?

Regards

susejunky