首页 > 解决方案 > 翻译 gettext 范围之外的字符串

问题描述

我正在我的 Discord 机器人上实现获取文本,并且我有一些来自配置文件的字符串,例如:我想要的游戏来自的区域(全球服务器、韩国服务器、日本服务器、亚洲服务器等)也可以翻译成。由于这些文件存储为 JSON,因此我不能真正使用获取文本。

所以我想知道我能做些什么来翻译这些字符串?我想出了一些可以解决我的问题的方法,但它们对我来说看起来不太好。

方法 1 - 使用 .py 文件进行这些设置

这是不言自明的。我可以使用 python 模块来存储配置,这将允许我使用 _(...) 获取文本函数,该函数将允许 xgettext 获取要翻译的字符串。

方法 2 - 对字符串进行硬编码

这将有两种方式,将它们硬编码在它们将要使用的模块中,或者在我将硬编码来自外部数据源的所有字符串的模块中。

有没有更好的方法来解决这个问题?

标签: python-3.xtranslationexternalgettextxgettext

解决方案


将配置文件中的字符串提取到一个附加.pot文件中,例如config.pot. 然后,您可以将此文件作为附加输入文件传递给,xgettext因为无论编程语言如何,xgettext都将始终将文件识别为输入。.po.pot


推荐阅读