Блок переводов Django не переведен

У меня есть шаблон Django 1.6 со следующим содержимым (базовый язык немецкий, перевод на английский):

{% trans "My App" as appname %}
{% blocktrans with appname=appname %}Garantie: '{{ appname }}' ist 100%% gratis!{% endblocktrans %}
{% trans "Hallo {firstWordInName}," %}

При создании файлов .po это выглядит так:

msgid "Garantie: '%(appname)s' ist 100%% gratis!"
msgstr "We assure you: '%(appname)s' is 100%% free of charge!"

msgid "Hallo {firstWordInName},"
msgstr "Hello {firstWordInName},"

Но при рендеринге шаблона django переводится только строка «Hallo {firstWordInName}». Другой продолжает оставаться немцем. В чем причина этого? Я думаю, что переводы django для строк с процентными знаками действительно сломаны....

Заранее спасибо! Любая помощь приветствуется!


person Matthias Scholz    schedule 02.03.2015    source источник
comment
Спасибо Selcuk за ответ, но это не дубликат. Я уже использую два знака процента в исходном языке, чтобы заставить его работать.   -  person Matthias Scholz    schedule 02.03.2015
comment
См. принятый ответ на этот вопрос. Вы пробовали обходной путь?   -  person Selcuk    schedule 02.03.2015
comment
Спасибо, я попробовал, и это сработало, большое спасибо!   -  person Matthias Scholz    schedule 02.03.2015


Ответы (1)


Я нашел простое решение, возможно, даже лучше, чем предложенное в Обработка знака процента (%) в тегах Django blocktrans

{% blocktrans with percent="%" %} This is 100{{ percent }} working! {% endblocktrans %}
person Matthias Scholz    schedule 02.03.2015
comment
Бриллиант!! Спасибо! :) - person ferrangb; 01.04.2015