python-3.x - 翻译 gettext 范围之外的字符串
问题描述
我正在我的 Discord 机器人上实现获取文本,并且我有一些来自配置文件的字符串,例如:我想要的游戏来自的区域(全球服务器、韩国服务器、日本服务器、亚洲服务器等)也可以翻译成。由于这些文件存储为 JSON,因此我不能真正使用获取文本。
所以我想知道我能做些什么来翻译这些字符串?我想出了一些可以解决我的问题的方法,但它们对我来说看起来不太好。
方法 1 - 使用 .py 文件进行这些设置
这是不言自明的。我可以使用 python 模块来存储配置,这将允许我使用 _(...) 获取文本函数,该函数将允许 xgettext 获取要翻译的字符串。
方法 2 - 对字符串进行硬编码
这将有两种方式,将它们硬编码在它们将要使用的模块中,或者在我将硬编码来自外部数据源的所有字符串的模块中。
有没有更好的方法来解决这个问题?
解决方案
将配置文件中的字符串提取到一个附加.pot
文件中,例如config.pot
. 然后,您可以将此文件作为附加输入文件传递给,xgettext
因为无论编程语言如何,xgettext
都将始终将文件识别为输入。.po
.pot
推荐阅读
- javascript - 在 Reactjs 中使用 firebase 电话身份验证时出现“firebaseApp.auth.RecaptchaVerifier 不是构造函数”错误
- node.js - 为什么 secp256k1 privateKeys 在 nodejs 中并不总是 32 字节?
- python - 在熊猫中选择行时混淆轴的使用
- python - 什么是从几个csv文件逐行提取值到python中的json文件的最快方法
- ios - 从 Firebase 存储使用 Kingfisher 下载图像
- metaprogramming - Python:为什么我需要在元类中调用 super().__init__()?
- android - Room 中自动递增的复合主键
- web-services - 以 xamarin 形式使用 asmx webservice
- python - json.dump(list, f) 继续在 Google Colab 上加载
- c# - React 和 .NET 应用程序数据部分获取