błąd w „django-admin.py makemessages” lub wywołanie xgettext? -> „Ostrzeżenie: niezakończony ciąg”
django-admin.py makemessages umiera z błędami „ostrzeżenie: niezakończony ciąg” w przypadkach, gdy naprawdę długie łańcuchy są zapakowane:
<code>string = "some text \ more text\ and even more" </code>
Te ciągi nie muszą nawet być tłumaczone - np. łańcuchy zapytań sql. Problem znika, gdy łączę ciąg, ale wynik wygląda brzydko i dołączenie do niego wymaga czasu ...
Czy ktoś ma taki problem? Czy znalazłeś sposób, aby to naprawić?
Mam następujące wersje narzędzi:
xgettext-0.17, gettext-0.17, django-1.0.2, python-2.6.2
To byłobilet w tej kwestii, ale został prawdopodobnie zamknięty, ponieważ błąd pojawia się tylko w niektórych kombinacjach wersji składowych.
EDIT: znalazłem źródło problemu - xgettext drukuje komunikaty ostrzegawcze na sterr, a django traktuje je jako błędy krytyczne i kończy działanie.
zwracany status wywołania xgettext to 0 - „sukces”. Domyślam się, że django powinno rozpoznać to jako sukces i nie wychodzić z powodu ostrzeżeń.
Co ciekawe xgettext nadal wyodrębnia ciągi zawinięte w odwrotny ukośnik, jeśli muszą zostać przetłumaczone, ale wyświetla ostrzeżenia w stderr („niezakończony ciąg”) i plik .po („umiędzynarodowione wiadomości nie powinny zawierać`)
Wywołanie xgettext jest następujące:
<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>
wywoływane z django / core / management / commands / makemessages.py