我的 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.7
和django 1.6.4