Использование blocktrans для перевода - PullRequest
1 голос
/ 08 июля 2011

Я использую следующие blocktrans:

{% blocktrans with item|gender_text as gendertext %}
    This is {{gendertext}} item
{% endblocktrans %}

В моем .po файле у меня есть

msgid "This is %(gendertext)s item"
msgstr "Some translation ... %(gendertext)s"

Для любого языка, кроме английского, я не хотел бы использовать gendertext переменная.Поэтому я хотел бы иметь

msgstr "Some translation ..."

Однако, когда я снимаю %(gendertext)s с msgstr, django_admin кричит (при компиляции сообщений):

'msgstr' is not a valid Python format string, unlike 'msgid'. Reason: The string ends in the middle of a directive.
msgfmt: found 1 fatal error

Любойобходные пути для этого случая?

Меир

1 Ответ

1 голос
/ 10 июля 2011

Если я хорошо понимаю ваш вопрос, Django прав, если допустит эту ошибку, ваш ключ должен быть там для всех языков. Например, такого случая нет: на английском у меня есть ключ gendertext, но на турецком я мне не нужен этот ключ.

Одно из простых решений - сохранить этот ключ на обоих языках, но оставить его пустым, если вы не хотите отображать.

Кроме вашего вопроса, я настоятельно рекомендую вам использовать rosetta приложение, http://code.google.com/p/django-rosetta/ для процессов перевода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...