FS#13618 - Can't change GNOME language!

Attached to Project: Arch Linux
Opened by Rulatir (Rulatir) - Sunday, 01 March 2009, 20:09 GMT
Last edited by Jan de Groot (JGC) - Monday, 02 March 2009, 09:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

As evidenced by this forum thread:

http://bbs.archlinux.org/viewtopic.php?id=44757

There seems to be no way to change GNOME language in arch linux if one doesn't use GDM and the whole GNOME environment but just wants to change language for GNOME applications.

The problem is long-standing (one year old).

Ability to run applications in English is ***ABSOLUTELY INDISPENSABLE*** for finding solutions to problems and reporting bugs.

This task depends upon

Closed by  Jan de Groot (JGC)
Monday, 02 March 2009, 09:02 GMT
Reason for closing:  Not a bug
Comment by Jan de Groot (JGC) - Sunday, 01 March 2009, 20:33 GMT
There's no such thing as language choice in GNOME. GNOME sets the language to whatever your LANG environment variable is set to. GDM is friendly enough for you to select that language (and remember it!) on login.
If you want to launch an application in a different language, open a terminal and launch it with LANG=en_US application, then your application should launch in english instead of the language you currently have.
Comment by Rulatir (Rulatir) - Sunday, 01 March 2009, 22:41 GMT
> There's no such thing as language choice in GNOME.

False as a general statement. There are distros where there ***IS*** such thing (e.g. Ubuntu). However I understand that this might go against the Arch Way.

> If you want to launch an application in a different
> language, open a terminal and launch it with LANG=en_US
> application, then your application should launch in
> english instead of the language you currently have.

Short answer: doesn't work.

Long answer: tried that as one of the first things, then looked into nautilus's translations directory under /usr/share and found that it only has en_GB, tried LANG=en_GB nautilus, then LANG=en_GB.every-possible-spelling-of-utf8-and-iso-8859-2 nautilus, to **no avail** - nautilus keeps running in Polish. Tried GDM_LANG[UAGE], no joy.

GDM changes SOMETHING when the user chooses a language in the login dialog. I am trying to determine what that SOMETHING is.

Is there a utility (easier to use than raw GDB) that can be used to dump an app's getenv() calls to see what environment variables it examines? Something like strace but for glibc...
Comment by Jan de Groot (JGC) - Sunday, 01 March 2009, 23:00 GMT
About the false statement: the ubuntu tool is a tool to set the global system language. Running that tool doesn't translate every started program into the chosen language instantly. This doesn't differ from the way we have a global system setting from /etc/rc.conf.

The only magic that GDM does is setting this:
GDM_LANG="nl_NL.UTF-8"
LANG="nl_NL.UTF-8"

Whenever I launch an application with "LANG=nl_NL.utf8 gedit", I get a dutch gedit. Note that a lot of programs use dbus or bonobo activation to launch new applications. This means that when you're running a polish instance of epiphany, launching a 2nd instance from the commandline will just tell the polish instance to open a new window. Another requirement for these language changes is that the locale should be activated in /etc/locale.gen. If it isn't enabled there, the locale won't work.

And as last solution, try setting LANG=C instead of en_US. The C language is always supported and shows the raw untranslated strings that are hardcoded inside the application.
Comment by Rulatir (Rulatir) - Sunday, 01 March 2009, 23:48 GMT

Hmmm... got it: "en_GB.utf8" (with this exact spelling of the charset part) works when assigned to LC_ALL. LANGUAGE also does the trick, but not LANG or GDM_LANG which is what GDM sets. Weird, but my particular problem is solved.

Please close.

Loading...