Django - gettext - 奇怪的msgstr""

时间:2014-05-17 07:43:45

标签: django gettext po

我在翻译字符串方面遇到了问题。

这是我的观看代码:

advice= _("Password must contain at least 1 number or special character")
sentence= advice + " ("+ special_characters + ")"
response_array.append(sentence)

但是当我使用django-admin.py makemessages --all构建po文件时,我得到一个奇怪的.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 个答案:

答案 0 :(得分:2)

这是长消息字符串的正常行为。在生成.po文件期间,它会自动格式化,长字符串将被分成几行。

来自djangobook:

  

长消息是一种特殊情况。在那里,msgstr(或msgid)之后的第一个字符串是一个空字符串。然后内容本身将在接下来的几行中写成每行一个字符串。这些字符串是直接连接的。不要忘记字符串中的尾随空格;否则,它们将在没有空格的情况下拼凑起来!

在此处阅读更多内容:http://www.djangobook.com/en/2.0/chapter19.html