我在 Django 项目中使用 django-allauth 作为第三方包。
我从 django-allauth 复制了一些模板到我的模板目录中以修改布局。但我没有碰翻译字符串!
运行 makemessages 后,这个字符串出现在我的 .po 文件中,即使它是在 django-allauth 的应用程序目录中翻译的。 (为了管理我的翻译,我使用 Weblate。)
我怎样才能阻止这种行为?这会毁掉我的 .po 文件,并且让译者感到困惑,因为我们必须通知他们不要碰这个字符串。
我可以创建一个“msgid”列表来忽略一些字符串吗?
同时我发现了一个非常好用的工具。我刚刚创建了自己的模板标签,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即可坚持包中的翻译。