1

我正在使用 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 没有出现在 3rd 方应用程序列表中。

关于为什么可能makemessages并且rosetta正在忽略 allauth 进行翻译的任何想法?

4

2 回答 2

1

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

于 2012-09-01T09:51:40.913 回答
0

还要记住,all-auth 的翻译文件有时会很混乱。在 repo 中检查它,可能某些字符串fuzzy在您的语言中是或相似的。在这种情况下,我复制了模板和电子邮件,并通过在 all-auth 存储库中复制和粘贴 .po 文件来手动翻译。这需要一些努力,但有效。

于 2017-07-03T17:30:30.423 回答