如何本地化Python argparse模块,而无需修补它?

时间:2015-02-25 22:10:50

标签: python localization argparse

当部分消息使用用户语言时,本地化命令行应用程序看起来很奇怪,而其他部分则是英文。

当我从源代码安装Python 3时,我不知道是否搞砸了什么,似乎没有*.mo个文件,因此argparse(在整体中)不能识别本地化。< / p>

API似乎也没有提供本地化的方法。还是我错过了?

我可以修补argparse.py,但我不会,因为我希望它是可移植的,而且我不建议用户修补他们的Python安装。

问题用更少的单词:如何在不修补Python标准库的情况下本地化argpase

相关问题:这可能吗?

1 个答案:

答案 0 :(得分:4)

默认情况下,argparse使用gettext模块翻译邮件,以便您可以根据需要轻松翻译。

要生成*.pot个文件(您可以在翻译后转换为*.mo个文件),您可以使用内置pygettext中提供的gettext程序python中的模块。

用法:

python pygettext.py argparse.py

这会生成一个messages.pot,您可以翻译,然后生成.mo(许多方法,只需谷歌)。

有关pygettext的更多信息,请参阅有关该主题的Python手册:https://docs.python.org/2/library/gettext.html#internationalizing-your-programs-and-modules