Django allauth翻译未得到承认

时间:2012-08-10 12:51:27

标签: django internationalization translation gettext rosetta

我正在使用Django allauth,并且在运行makemessages后,视图和表单中标记为翻译的字符串不会出现在.po文件中。

例如,在site-packages/allauth/account/forms.py

from django.utils.translation import ugettext_lazy as _, ugettext
...
error = _("The username and/or password you specified are"
          " not correct.")

此外,我使用rosetta进行翻译,但allauth未出现在第三方应用列表中。

关于为什么makemessagesrosetta忽略allauth进行翻译的任何想法?

2 个答案:

答案 0 :(得分:1)

Checkout https://docs.djangoproject.com/en/dev/topics/i18n/translation/#message-files - 特别是关于从app dir运行makemessages的说明。 allauth有自己的locale dir,这就是为什么它的字符串不会显示在项目级语言环境目录中的原因。尝试在allauth级别运行makemessages ...

答案 1 :(得分:0)

另外请记住,all-auth的翻译文件有时会搞得一团糟。在回购中检查它,可能是您的语言中的某些字符串fuzzy或类似字符串。在这种情况下,我复制了模板和电子邮件,并通过复制和粘贴all-auth存储库中的.po文件手动翻译。这需要一点努力,但有效。