Шаблон Django {% trans%} плюрализация

В соответствии с этот раздел в документах Django я должен использовать {% blocktrans %} для случаев, когда мне нужно перевести плюрализацию. Однако, например, как пример, нет ли чего-то более удобного, что я могу сделать?

{% blocktrans count video.views.count as views %}
The video has been viewed <span>{{ views }}</span> time
{% plural %}
The video has been viewed <span>{{ views }}</span> times
{% endblocktrans %}

Я попытался сделать следующее:

{% blocktrans %}time{% plural %}times{% endblocktrans %}

Но он бросил TemplateSyntaxError: 'blocktrans' doesn't allow other block tags (seen u'plural') inside it

Ответ 1

Вы забыли count variable as variable_name в теге blocktrans

Значение этой переменной будет использоваться для определения множественного числа или нет.

{% blocktrans count variable as variable_name %}
    time
    {% plural %}
    {{ variable_name }} times
{% endblocktrans %}

Ответ 2

Вы можете использовать:

{% blocktrans with video.views.count|pluralize as foo  and  video.views.count as views %}
The video has been viewed <span>{{ views }}</span> time{{ foo }}
{% endblocktrans %}