3

messages.success(request, 'sign-up-success')认为(我写了一个通用名称,因为我稍后会翻译它),并在我的模板中使用 {{ message }} 显示它。我希望能够翻译,所以我尝试了{% blocktrans %}{{ message }}{% endblocktrans %},但这会将任何消息(无论是“注册失败”还是其他任何消息)翻译成我在 django.po 文件中定义的 msgstr。

如何翻译消息,它是一个变量?

非常感谢。

4

2 回答 2

3

您指出了:您不能翻译变量。

您必须翻译定义它的文本:

from django.utils.translation import ugettext as _
messages.success(request, _('sign-up-success'))

然后按照标准翻译流程:https ://docs.djangoproject.com/en/dev/topics/i18n/translation/

于 2013-03-13T17:02:21.630 回答
0

重要的是在 settings.py 中的中间件中有正确的顺序

  MIDDLEWARE_CLASSES = (
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.locale.LocaleMiddleware',
   'django.middleware.common.CommonMiddleware',
    )
于 2015-03-03T14:54:47.737 回答