Django:忽略已在应用程序目录中翻译的反式字符串

问题描述 投票:0回答:1

我在 Django 项目中使用 django-allauth 作为第三方包。

我从 django-allauth 复制了一些模板到我的模板目录中以修改布局。但我没有碰翻译字符串!

运行 makemessages 后,这个字符串出现在我的 .po 文件中,即使它是在 django-allauth 的应用程序目录中翻译的。 (为了管理我的翻译,我使用 Weblate。)

我怎样才能阻止这种行为?这会毁掉我的 .po 文件,并且让译者感到困惑,因为我们必须通知他们不要碰这个字符串。

我可以创建一个“msgid”列表来忽略一些字符串吗?

django django-i18n
1个回答
0
投票

同时我发现了一个非常好用的工具。我刚刚创建了自己的模板标签,makemeassge 将忽略该模板标签。

register = template.Library()
from django.templatetags.i18n import do_block_translate, do_translate

register.tag('ignore_blocktrans', do_block_translate)
register.tag('ignore_trans', do_translate)

这样,您只需添加ignore_trans或ignore_blocktrans即可坚持包中的翻译。

© www.soinside.com 2019 - 2024. All rights reserved.