Несколько множественных переменных в интернационализированном шаблоне django


Я интернационализирую (i18n) наш проект django, т. е. добавляю {% blocktrans %} к нашим шаблонам. Я знаю, как использовать count и {% plural %}, чтобы иметь разные строки для varaibles. Однако у меня есть строка, которая имеет две переменные, каждая из которых должна быть множественной, т. е. 4 возможных варианта.

Например, моя строка "You have {{ num_unread }} unread message{{ num_unread|pluralize }} out of {{ total }} total message{{ total|pluralize }}"

Как я могу преобразовать это в теги blocktrans?

1 2

1 ответ:

Проведя еще несколько исследований и прочитав, в частности, о gettext, я не думаю, что это возможно. документация gettext позволяет управлять множественностью только одной переменной. Вероятно, есть проблемы с наличием множественного числа переменных 2, так как в арабском языке для перевода необходимо иметь 36 различных строк.

В конце концов я просто обошел свою первоначальную проблему и разделил ее на две строки.