Как заставить “вложенный” перевод представить в виде строки в шаблоне Django?

Вот фраза, которую я должен сделать translateable:

Poll ends in 2 hours 23 minutes

Эта строка должна иметь основную фразу и 'час' и 'минута' в формах единственного числа и формах множественного числа.

{% blocktrans %}Poll ends in {{ poll.expire_hours }} ??? {{ poll.expire_minutes }} ???{% endblocktrans %}

Что я помещаю затем вместо ??? ?


Решение: сделанный простым тегом, который берет параметры как это:

{% readable_interval _('Poll ends in %s') poll.expire %}

и в нем преобразовывает poll.expire (timedelta) в читаемый текст ('/'N часы X дней и/'Less/'M минут/'N часов минут M, чем минута'). Все строки, которые кодируются в коде тега, являются i18-ized.

1
задан culebrón 30 May 2010 в 10:42
поделиться

1 ответ

Этот тип строки принесет вам боль, если вы попытаетесь и18низировать его таким образом. Напишите для него шаблонный тег.

2
ответ дан 3 September 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: