0

我的 django 没有执行我在 *.po 文件中定义的翻译。

我有这样的设置:

  • 主文件夹:
    • 语言环境
      • zh
        • LC_MESSAGES
          • django.po
          • django.mo
        • LC_MESSAGES
          • django.po
          • django.mo
    • 应用程序1
      • 设置.py
    • 应用程序2
    • ……

在我的 settings.py 中,我认为一切都已启用:

USE_I18N = True

USE_L10N = True

LANGUAGE_CODE = 'en'

LANGUAGES = (
   ('en', _('English')),
   ('de', _('German')),
)

TEMPLATE_CONTEXT_PROCESSORS = (
    ....
    'django.core.context_processors.static',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    )

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
)

假设我的 django.po 文件包含这样的示例:

msgid "Home"
msgstr "Home22222"

我在我的模板文件中使用它:

{% trans "Home" %}

Home22222 即使我删除了 LocaleMiddleware,房屋也不会被替换它保持不变。

我确实跑了

makemessages --locale=en

之后:

compilemessages

我正在使用Python 2.7django 1.6.4

4

0 回答 0