2. Versuch: Firefox vergisst Spracheinstellung [gelöst]

Hermann Klock hermann123 at gmail.com
Sam Jan 17 12:23:24 GMT 2009


Hallo Florian,

danke für die schnelle und ausführliche Antwort! Du hast mich auf die richtige 
Fährte gebracht.

Auch bei englischem Firefox ergab echo $LANG "de_DE.UTF-8". Das sollte ja 
eigentlich nicht sein. Aber ich habe die bisher vermisste Regelmäßigkeit 
gefunden:

Das ganze spielt auf einem ältern Thinkpad A31. Das Gerät hat diverse 
Sondertasten, die man sich mit einem Programm tpb (thinkpad buttons) selbst 
belegen kann. Ich hatte auf die HOME-Taste /usr/bin/firefox gelegt, und wenn 
ich den FF darüber gestartet habe, hatte er die englischen Menüs. Beim Start 
über das Desktop-Icon, aus der Konsole oder über Alt-F2 waren die Menüs 
deutsch.

Tpb muss also irgendwie locale einstellung vermurksen. Ich habe es jetzt so 
gelöst, dass die HOME-Taste den FF nicht direkt aufruft, sondern über ein 
kleines Skript:

#! /bin/bash

export LANG=de_DE.UTF-8
/usr/bin/firefox

Damit spricht FF jetzt konstant deutsch. Herzlichen Dank!

Viele Grüße
Hermann

> Firefox zeigt sein Menü abhängig von der gesetzten Umgebungsvariable
> LANG [1] an. Welchen Wert diese Umgebungsvariable hat kannst du
> herausfinden, in dem du in einer Konsole entweder den Befehl "locale"
> ausführst oder "echo $LANG". Welche LOCALEs dein System überhaupt
> unterstützt kannst du in der Konsole mit dem Befehl "locale -a" ermitteln.
>
> In meinem Fall sieht das Ganze so aus:
>
> --- 8< ---
> $ locale && echo $LANG && locale -a
>
> # Ausgabe von locale:
> LANG=de_DE.UTF-8
> LC_CTYPE="de_DE.UTF-8"
> LC_NUMERIC="de_DE.UTF-8"
> LC_TIME="de_DE.UTF-8"
> LC_COLLATE="de_DE.UTF-8"
> LC_MONETARY="de_DE.UTF-8"
> LC_MESSAGES="de_DE.UTF-8"
> LC_PAPER="de_DE.UTF-8"
> LC_NAME="de_DE.UTF-8"
> LC_ADDRESS="de_DE.UTF-8"
> LC_TELEPHONE="de_DE.UTF-8"
> LC_MEASUREMENT="de_DE.UTF-8"
> LC_IDENTIFICATION="de_DE.UTF-8"
> LC_ALL=
>
> # Ausgabe von "echo $LANG"
> de_DE.UTF-8
>
> # Ausgabe von "locale -a"
> C
> de_AT.utf8
> de_BE.utf8
> de_CH.utf8
> de_DE.utf8
> de_LI.utf8
> de_LU.utf8
> en_US.utf8
> POSIX
> --- 8< ---
>
>
> Wenn ich nun zum Beispiel on-the-fly den Wert für LANG ändere und
> Firefox dann ausführe, dann ist mein FF-Menü auch auf englisch:
>
> --- 8< ---
> $ LANG=en_US.UTF-8 /usr/bin/firefox
> # --> Firefox auf englisch
>
> $ LANG=de_DE.UTF-8 /usr/bin/firefox
> # --> Firefox auf deutsch
> --- 8< ---
>
> Daraus kann man also schlussfolgern, dass aus irgendeinem Grund dein
> Firefox manchmal mit einer englischen und manchmal mit einer deutschen
> Locale gestartet wird. Welcher Wert dein Systemstandard ist kannst du
> herausfinden, in dem du den Inhalt der Datei /etc/default/locale ausgibst:
>
> $ cat /etc/default/locale
> LANG="de_DE.UTF-8"
> LANGUAGE="de_DE:de:en_GB:en"
>
> Du hast nun meiner Ansicht nach drei Möglichkeiten:
>
> 1.  Du änderst im K-Menü den Porgrammaufruf für Firefox insofern ab, als
> dass du vor dem Befehl noch dynamisch die Sprachvariable setzt
> ("LANG=de_DE.UTF-8 /usr/bin/firefox"). Diese Änderung musst du dann ggf.
> auch an allen anderen Stellen, an denen du ein Firefox-Icon hast (z. B.
> auf dem Desktop) durchführen.
>
> 2.  Du erstellst ein Alias [2] für "firefox" mit dem Wert
> "LANG=de_DE.UTF-8 firefox" und rufst deinen Firefox über Alt+F2 auf
>
> 3.  Du lässt dir mit "echo $LANG" immer dann die aktuell gesetzte
> Umgebungsvariable ausgeben, wenn Firfox wieder mal auf englisch erscheint.
>
>
> Hast du eventuell ein anderes Programm, das die Umgebungsvariable LANG
> irgendwie beeinflusst?
>
> Ich denke damit solltest du der Sache auf den Grund kommen können....
>
>
> Gruß,
> 	Florian
>
>
> [1] http://wiki.ubuntuusers.de/Umgebungsvariable#Locale
> [2] http://my.opera.com/Christmas/blog/show.dml/356149