我有一个基本的提要,我正试图在Django项目中呈现。我创建了一个feed.html文件,作为相同类型提要的轻微变体的基本模板。在这些变体中,是提要的标头。重要的是,我希望这个标题能被翻译成多种语言。
我已经实现了这个";变体";使用CCD_ 1。然而,我在翻译这些变体时遇到了问题。
我正在feed.html中尝试以下操作:
{% translate header %}
然后在我想要feed.html变体的一个模板中,我有:
{% include "feed.html" with header="Header" %}
问题是,字符串";标题";它没有进入我的任何.po
文件,因此仍然不可翻译。
我做错了什么?我应该使用不同的语法吗?
问题是,字符串"标题";它没有进入我的任何.po文件,因此仍然无法翻译。
如果这意味着makemessages
命令没有提取字符串,那么是的,它不会提取,因为没有字符串。只有一个变量。该变量可以取任何值,makemessages
不可能将其追溯到可能为header
设置值的所有可能位置。makemessages
只能提取字面上直接放入{% translate %}
标记或_()
函数调用中的内容。
与前两个例子一样,使用变量或计算值的警告是Django的翻译字符串检测实用程序Django-admin
makemessages
将无法找到这些字符串。https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#standard-翻译
您需要在传递标头值之前对其进行翻译:
{% include "feed.html" with header=_("Header") %}