django-admin.py makemessages умирает с ошибками «предупреждение: неопределенная строка» в случаях, когда переносятся действительно длинные строки:
string = "some text \
more text\
and even more"
Эти строки даже не нужно переводить - например, строки запроса sql.
Проблема исчезает, когда я объединяю строку, но результат выглядит ужасно, и для их объединения требуется время ...
У кого-нибудь есть такая проблема? Вы нашли способ это исправить?
У меня есть следующие версии инструментов:
xgettext-0.17, gettext-0.17, django-1.0.2, python-2.6.2
Был тикет по этому вопросу, но он был закрыт, вероятно, потому что ошибка появляется только в некоторой комбинации версий компонента.
РЕДАКТИРОВАТЬ: обнаружен источник проблемы - xgettext печатает предупреждающие сообщения на sterr, а django принимает их как фатальные ошибки и завершает работу.
возвращаемый статус вызова xgettext - 0 - «успех». Я думаю, что Django должен признать это как успех, а не выйти из-за предупреждений.
Интересно, что xgettext по-прежнему извлекает строки с обратной косой чертой, если они должны быть переведены, но выдает предупреждения в stderr ( "неопределенная строка" ) и .po файле ( "интернационализированные сообщения не должны содержать `\ r 'escape-последовательность" )
Вызов xgettext следующий:
xgettext -d django -L Python --keyword=gettext_noop \
--keyword=gettext_lazy --keyword=ngettext_lazy:1,2 \
--keyword=ugettext_noop --keyword=ugettext_lazy \
--keyword=ungettext_lazy:1,2
--from-code UTF-8 -o - source_file.py
вызывается из django / core / management / commands / makemessages.py