Форматы плюрализации с локализацией django

Я просто помещаю локализацию в проект Django. Я хочу во множественном числе предложение, как это выглядит:

{% blocktrans count count=rows.count %}
in {{ count }} row
{% plural %}
in {{ count }} rows
{% endblocktrans %}

не очень красиво, но хорошо, все еще можно использовать. (То есть, кстати, как это описано в документации по Django) Но потом оказывается, что это выглядит так в django.po

msgid ""
"\n"
"    in %(count)s row\n"
"    "
msgid_plural ""
"\n"
"    in %(count)s rows\n"
"    "

Это действительно очень неуместно. Но мне пришлось бы изменить код шаблона на:

{% blocktrans count count=rows.count %}in {{ count }} row{% plural %}in {{ count }} rows{% endblocktrans %}

чтобы сделать это лучше. Это в значительной степени нечитаемо. Нет ли лучшего способа с локализацией в Django?

1 ответ

Нет, нет Вещь с *.po Файлы в том, что они будут помещать точную строку для перевода, включая пробелы и новые строки, и это очень хорошая вещь. Таким образом, у переводчиков будет возможность заменить / изменить пробелы или новые строки, если они (или целевой язык) потребуют этого.

Если вы хотите, чтобы все в одной строке, просто напишите это, как вы только что сделали.

Вы также можете проверить свой оригинальный код, чтобы удалить ненужные пробелы в конце.

Другие вопросы по тегам