ошибка в «django-admin.py makemessages» или вызов xgettext? -> «предупреждение: неопределенная строка»

django-admin.py makemessages умирает с ошибками & quot; предупреждение: неопределенная строка & quot; в случаях, когда действительно длинные строки обернуты:

<code>string = "some text \
          more text\
          and even more"
</code>

Эти строки даже не нужно переводить, например строки запроса sql. Проблема исчезает, когда я объединяю строку, но результат выглядит некрасиво, и требуется время, чтобы присоединиться к ним ...

У кого-нибудь есть такая проблема? Вы нашли способ это исправить?

У меня есть следующие версии инструментов:

xgettext-0.17, gettext-0.17, django-1.0.2, python-2.6.2

Былбилет по этому вопросу, но он был закрыт, вероятно, потому что ошибка появляется только в некоторой комбинации версий компонентов.

EDIT: found the source of problem - xgettext печатает предупреждающие сообщения на sterr, а django принимает их за фатальные ошибки и завершает работу.

возвращаемый статус вызова xgettext равен 0 - «успешно». Я думаю, что Django должен признать это как успех, а не выйти из-за предупреждений.

Интересно, что xgettext по-прежнему извлекает строки с обратной косой чертой, если они должны быть переведены, но выдает предупреждения в stderr ("unterminated string") и .po файл ("internationalized messages should not contain the `\r' escape sequence")

Вызов xgettext выглядит следующим образом:

<code>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
</code>

вызывается из django / core / management / commands / makemessages.py

Ответы на вопрос(1)

Ваш ответ на вопрос