我正在一个将被巴西人使用的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
有什么办法吗?
我正在一个将被巴西人使用的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
有什么办法吗?
CPython 实现不提供任何本地化错误消息的自动方法。因此,您应该用葡萄牙语重写所有 python 的错误消息,并添加大量try...except
块或替换sys.excepthook
以处理异常。
如果您打算这样做,我会考虑使用该gettext
模块进行本地化。
其他 python 实现确实有本地化的错误消息(如 IronPython)。
在我看来,你想做的不是一个好习惯。这些巴西开发人员无论如何都必须懂一点英语,如果他们想查看一些 python/库的文档(可能不是全部翻译成葡萄牙语)。
此外,如果您将错误消息本地化,在网络上搜索它们会变得更加困难。
python 的默认语言是英语,总是鼓励使用它(根据 PEP 8)。
因此,据我所知,他们不支持/鼓励使用这样的不同语言,因此您可能必须自己更改所有内容。
Python(实际上是 CPython)目前没有国际化的错误消息。2012 年, Mariano Reingart在名为“ Traceback Internationalization Proposal ”的错误报告 #16344中提出了要求。经过大量讨论,他们同意这个PEP 草案必须在进一步讨论之前推进,所以这个漏洞在 2015 年被关闭。
也许你可以跳到这个错误报告或 Python 开发邮件列表并发表你的意见以引起对该主题的兴趣,也可以联系 Reingart 并询问有关此问题的当前状态。