使用动态值翻译模板中的字符串

Translate string in template with dynamic value

在我的模板文件中有这样的内容:

{% blocktrans %}There are {{news|length}} news{% endblocktrans %}

但是翻译总是漏掉其中的{{news|length}}(打印出'There are news')。

我的 django.po 文件是通过 django-admin.py makemessages --all

自动生成的
msgid "There are %(news|length)s news"
msgstr "%(news|length)s tane haber var"

我知道我可以尝试在 views.py 中传递这个字符串,但是有什么方法可以在模板中传递吗?或者我做错了什么?

您需要在 blocktrans 标签内使用过滤器。

{% blocktrans with news=news|length %}There are {{ news }} news{% endblocktrans %}