ошибка в «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