6

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

而不是得到...

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

我想得到这个...

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

有什么办法吗?

4

3 回答 3

5

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

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

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

在我看来,你想做的不是一个好习惯。这些巴西开发人员无论如何都必须懂一点英语,如果他们想查看一些 python/库的文档(可能不是全部翻译成葡萄牙语)。

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

于 2013-04-19T14:14:00.900 回答
2

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

因此,据我所知,他们不支持/鼓励使用这样的不同语言,因此您可能必须自己更改所有内容。

于 2013-04-19T14:09:04.190 回答
2

Python(实际上是 CPython)目前没有国际化的错误消息。2012 年, Mariano Reingart在名为“ Traceback Internationalization Proposal ”的错误报告 #16344中提出了要求。经过大量讨论,他们同意这个PEP 草案必须在进一步讨论之前推进,所以这个漏洞在 2015 年被关闭。

也许你可以跳到这个错误报告或 Python 开发邮件列表并发表你的意见以引起对该主题的兴趣,也可以联系 Reingart 并询问有关此问题的当前状态。

于 2020-07-27T23:17:02.060 回答