locale.getlocale () Probleme unter OSX
Ich brauche das Systemgebietsschema, um eine Reihe von Dingen zu erledigen. Letztendlich möchte ich meine App mit gettext übersetzen. Ich werde es sowohl unter Linux als auch unter OSX vertreiben, aber unter OSX Snow Leopard habe ich Probleme:
$ python
Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'sv_SE.UTF-8'
>>> locale.getlocale()
('sv_SE', 'UTF8')
$ python
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'C'
>>> locale.getlocale()
(None, None)
Beide Systeme verwenden schwedische Sprachen. Unter Linux ist die Umgebungsvariable LANG bereits auf "sv_SE.UTF-8" gesetzt. Wenn ich diese Variable unter OSX an python übergebe (LANG="sv_SE.UTF-8" python
Stattdessen wird das Gebietsschema gut erkannt. Sollte aber nichtlocale.getlocale()
in der Lage zu holen, welche Sprache das Betriebssystem hat? Ich möchte Benutzer nicht zum Festlegen zwingenLANG
, LC_ALL
oder irgendeine Umgebungsvariable überhaupt.
Ausgabe vonlocale
Befehl:
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=