在Windows上设置Python语言环境的正确方法是什么?
问题内容:
我试图以一种可识别语言环境的方式对字符串列表进行排序。我已经将Babel库用于其他与i18n相关的任务,但是它不支持排序。Python的locale
模块提供了一种strcoll
功能,但是需要将进程的语言环境设置为我要使用的语言环境。有点痛苦,但我可以忍受。
问题是我似乎无法实际设置语言环境。该文件的locale
模块给出了这样的例子:
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
当我运行它时,我得到了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\Lib\locale.py", line 494, in setlocale
locale.Error: unsupported locale setting
我究竟做错了什么?
问题答案:
看来您使用的是Windows。那里的区域设置字符串不同。仔细看一下文档:
locale.setlocale(locale.LC_ALL, 'de_DE') # use German locale; name might vary with platform
在Windows上,我认为应该是这样的:
locale.setlocale(locale.LC_ALL, 'deu_deu')
MSDN包含语言字符串和国家(地区)字符串的列表