Gebietsschema.getlocale() Probleme auf OSX

Ich brauche, um das Gebietsschema des Systems, um eine Anzahl von Sachen tun, schließlich will ich übersetzen meiner app mit gettext. Ich werde, um es zu verteilen auf beide Linux und OSX, aber ich lief in Probleme auf OSX Snow Leopard:

$ 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 sind mit Schwedisch Sprachen. Unter Linux die Umgebungsvariable LANG ist bereits auf "de_de.UTF-8". Wenn ich übergeben Sie die variable, um python auf OSX (LANG="sv_SE.UTF-8" python statt), Gebietsschema erkannt wird, schön. Aber sollte nicht locale.getlocale()in der Lage sein zu Holen, welche Sprache das Betriebssystem hat? Ich will nicht zu zwingen Benutzer, um LANG, LC_ALL oder beliebige Umgebungsvariablen an alle.

Ausgabe von locale Befehl:

$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
  • was ist dein output von locale (in der Schale) in der gleichen terminal-Fenster?
  • Hinzugefügte Gebietsschema-Ausgang zum original-post.
InformationsquelleAutor pojo | 2009-10-27
Schreibe einen Kommentar