Problemas con locale.getlocale () en OSX
Necesito obtener la configuración regional del sistema para hacer una serie de cosas, en última instancia, quiero traducir mi aplicación utilizando gettext. Lo voy a distribuir tanto en Linux como en OSX, pero tuve problemas en 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)
Ambos sistemas utilizan idiomas suecos. En Linux, la variable de entorno LANG ya está establecida en "sv_SE.UTF-8". Si paso esa variable a python en OSX (LANG="sv_SE.UTF-8" python
en su lugar), el entorno local se detecta muy bien. Pero no deberíalocale.getlocale()
ser capaz de recuperar cualquier idioma que tenga el sistema operativo? No quiero forzar a los usuarios a establecerLANG
, LC_ALL
o cualquier variable de entorno en absoluto.
Salida delocale
mando:
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=