【发布时间】:2021-02-23 22:20:46
【问题描述】:
我需要在 python 中取消翻译一条消息。我的来源是英文,我用gettext 翻译那个字符串,比如法语。我需要“返回”到英文的原始字符串。有没有可能?
原因如下:我在用户界面中显示了一些消息,因此需要翻译消息。相同的函数将该消息记录在数据库中(用于调试)。我想以原始形式(英文)将消息存储在数据库中。
一个例子:
alert_please( _("message to be shown and stored") )
这里是定义:
def alert_please(translated_message):
show_the_message(translated_message)
store_the_message(translated_message)
仅供参考,我不会翻译 show_the_message 调用中的消息,因为这样做我将无法查看代码来构建消息目录。
【问题讨论】:
-
你能在翻译前存储邮件吗?
-
定义您自己的
_()函数,该函数构建一个字典,将调用gettext.gettext()的结果映射到英文源字符串(以及照常返回该结果)。这将允许您编写另一个函数来使用该字典来取消翻译。 -
@martineau 你让我开心。有用。谢谢!
-
@BendikKnapstad 我可以,但我会为每条消息打两次电话......