如何设置python异常消息以使用我的母语?

时间:2013-04-19 13:45:22

标签: python localization

我在一个将被巴西人使用的python图书馆工作,这里的官方语言是葡萄牙语!基本上,我想用葡萄牙语获取Exception消息,例如:

而不是......

>>> float('A')
ValueError: could not convert string to float: A

我想得到这个......

>>> float('A')
ValueError: não é possível converter a string para um float: A

有什么办法吗?

3 个答案:

答案 0 :(得分:3)

CPython实现提供本地化错误消息的任何自动方式。因此,您应该用葡萄牙语重写所有python的错误消息,并添加许多try...except块或替换sys.excepthook来处理异常。

如果您打算这样做,我会考虑使用gettext模块进行本地化。

其他python实现有本地化的错误消息(如IronPython)。

在我看来,你想做的是而不是一个好习惯。如果这些巴西开发人员想要查看一些python / library的文档(这些文档可能都不是用葡萄牙语翻译的),他们必须知道一些英语。

此外,如果您本地化错误消息,则在Web上搜索它们会变得更加困难。

答案 1 :(得分:1)

python的默认语言是英语,并且总是鼓励使用它(根据PEP 8)。

所以,据我所知,他们不支持/鼓励使用这样的不同语言,所以你可能不得不自己改变一切。

答案 2 :(得分:0)

Python(实际上是CPython)目前没有国际化的错误消息。 Mariano Reingartbug report #16344中提出了要求,称为“ 追踪国际化提案”。经过大量讨论,他们同意在进一步讨论之前必须先解决PEP draft的问题,因此该错误于2015年关闭。

也许您可以进入此错误报告或Python Dev邮件列表,发表您的意见以引起对该主题的兴趣,也许还可以联系Reingart并查询有关此问题的当前状态。