Django 模板:用变量翻译 include
我有一个模板,可以传入一个文本变量。我想把这个模板放到另一个模板里,但想用翻译后的文本作为变量。该怎么做呢?
我想要的效果是这样的:
{% include "a_dir/stuff.html" with text={% trans "Load more promotions" %} %}
我考虑过自己写一个模板标签,来执行一个 ugettext
的功能,但在创建 .po
文件时,文本变量不会自动被识别。
我不想在 view
里做这个工作,因为我们所有的翻译都是在模板中进行的。
2 个回答
3
一种更简洁的方法是
{% include 'a_dir/stuff.html' with text=_("Load more promotions") %}
这个方法也可以很好地与变量一起使用
8
你可以用 as
这个语法把翻译后的字符串放到一个变量里。比如:
{% trans "Load more promotions" as promotions %}
{% include "a_dir/stuff.html" with text=promotions %}
想了解更多细节,可以查看 文档。