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=

Antworten auf die Frage(5)

Ihre Antwort auf die Frage