在python中获取环境语言环境的正确方法

时间:2013-12-27 04:51:52

标签: python pyqt environment-variables multilingual python-2.x

我正在编写一个程序来支持PyQT4中的本地化,以及向我建议的方式如下所示。

locale = QtCore.QLocale.system().name()

现在我不确定这一点,但我想这会以某种方式抓住环境变量LC_ALL,无论我设置的语言环境是什么,对我来说总是c。当我locale c

的内容时,我可以告诉它尝试将print设置为locale

但是,当我设置我的语言环境时,环境变量LANG总是设置为我设置的语言环境。

所以,我采用的另一种方法是抓取环境变量LANG而不是QT方式。这种方式看起来效率更高,对我来说效果更好,但可能会有一些我不知道的事情。

import os
locale = os.environ['LANG']

任何人都可以通过这种方式想出任何问题,或者说其他方式更好的原因吗?

编辑: 我刚刚搜索时找到了locale模块。我认为这可能是他们中任何一个的更好的选择。

>>> import locale
>>> locale.getdefaultlocale()
('en_US', 'UTF-8')

1 个答案:

答案 0 :(得分:1)

从编辑到Josh的问题

我刚刚搜索locale模块。我认为这可能是他们中任何一个的更好的选择。

>>> import locale
>>> locale.getdefaultlocale()
('en_US', 'UTF-8')