makemessages django-admin.py des matrices avec des erreurs « avertissement: chaîne non terminée » sur les cas où des chaînes très longues sont enveloppés:bug dans "django-admin.py makemessages" ou appel xgettext? -> « avertissement: chaîne non terminée »
string = "some text \
more text\
and even more"
Ces chaînes ne même pas besoin à traduire - par exemple chaînes de requête sql. Le problème disparaît lorsque je concatène la chaîne, mais le résultat semble moche et il faut du temps pour les rejoindre ...
Quelqu'un at-il un problème comme celui-ci? Avez-vous trouvé un moyen de le réparer?
Je les versions suivantes des outils impliqués:
xgettext-0.17, gettext-0.17, django-1.0.2, python-2.6.2
Il y avait un ticket sur cette question, mais il a été fermé probablement parce que l'erreur apparaît seulement dans une combinaison de versions de composant.
EDIT: a trouvé la source du problème - xgettext imprime des messages d'avertissement à sterr et django les prend comme des erreurs fatales et se ferme.
L'état de retour de l'appel xgettext est 0 - "succès". Je suppose que Django devrait le reconnaître comme un succès et ne pas quitter à cause des avertissements.
Interestinly xgettext extrait encore des chaînes enveloppées backslash, si elles ont besoin d'être traduits, mais donne des avertissements à stderr (« chaîne non terminée ») et .po fichier (« messages internationalisés ne doivent pas contenir la fuite` \ r » séquence »)
d'appel xgettext est le suivant:
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
appelé à partir de django/core/gestion/commande/makemessages.py
@chrispy Cela aide, merci. Juste double-vérifié - Je n'ai pas d'espace après backslash. C'est Django ou xgettext n'obtenant pas l'encapsulation de la barre oblique inverse. – Evgeny
À partir de votre prochaine édition sur \ r, je suis assez confiant que c'est un problème de fin de ligne. Essayez un éditeur qui vous permet de spécifier le format de fichier Unix au lieu de Windows. –