我正在使用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未出现在第三方应用列表中。
关于为什么makemessages
和rosetta
忽略allauth进行翻译的任何想法?
答案 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文件手动翻译。这需要一点努力,但有效。