Django - gettext - Странный msgstr ""
У меня проблемы с переводом строки.
Вот мой код просмотра:
advice= _("Password must contain at least 1 number or special character")
sentence= advice + " ("+ special_characters + ")"
response_array.append(sentence)
Но когда я собираю PO-файл с django-admin.py makemessages --all
Я получаю странный.po файл:
#: .\mainsite\views.py:131
msgid "Password must contain at least 1 number or special character"
msgstr ""
"Le mot de passe doit contenir au moins 1 chiffre ou un caractère spécial"
Мне не удается понять, что происходит. Я ждал что-то вроде:
#: .\mainsite\views.py:131
msgid "Password must contain at least 1 number or special character"
msgstr "Le mot de passe doit contenir au moins 1 chiffre ou un caractère spécial"
1 ответ
Это нормальное поведение для длинных строк сообщений. Во время генерации .po
Файл автоматически форматируется и длинные строки будут разделены на несколько строк.
Из Джангобука:
Длинные сообщения - особый случай. Там первая строка непосредственно после msgstr (или msgid) является пустой строкой. Тогда сам контент будет записан в следующие несколько строк как одна строка в строке. Эти строки напрямую связаны. Не забывайте замыкать пробелы в строках; в противном случае они будут склеены без пробелов!
Узнайте больше здесь: http://www.djangobook.com/en/2.0/chapter19.html