我在一个将被巴西人使用的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
有什么办法吗?
答案 0 :(得分:3)
CPython实现不提供本地化错误消息的任何自动方式。因此,您应该用葡萄牙语重写所有python的错误消息,并添加许多try...except
块或替换sys.excepthook
来处理异常。
如果您打算这样做,我会考虑使用gettext
模块进行本地化。
其他python实现做有本地化的错误消息(如IronPython)。
在我看来,你想做的是而不是一个好习惯。如果这些巴西开发人员想要查看一些python / library的文档(这些文档可能都不是用葡萄牙语翻译的),他们必须知道一些英语。
此外,如果您本地化错误消息,则在Web上搜索它们会变得更加困难。
答案 1 :(得分:1)
python的默认语言是英语,并且总是鼓励使用它(根据PEP 8)。
所以,据我所知,他们不支持/鼓励使用这样的不同语言,所以你可能不得不自己改变一切。
答案 2 :(得分:0)
Python(实际上是CPython)目前没有国际化的错误消息。 Mariano Reingart在bug report #16344中提出了要求,称为“ 追踪国际化提案”。经过大量讨论,他们同意在进一步讨论之前必须先解决PEP draft的问题,因此该错误于2015年关闭。
也许您可以进入此错误报告或Python Dev邮件列表,发表您的意见以引起对该主题的兴趣,也许还可以联系Reingart并查询有关此问题的当前状态。