Django i18n无法正常工作

int*_*rgc 5 python django internationalization

我无法获得翻译以显示我的模板.这是我做的:

  1. 在我的模板文件(index.html)中,我已经加载了i18n并使用了trans我希望翻译的标签.
  2. 在我的项目目录中,我rand ./manage.py makemessages -l es
  3. 我的django.po文件在 ./conf/locale/es/LC_MESSAGES/django.po
  4. 我用翻译编辑了这个文件.
  5. 然后我跑了 ./manage.py compilemessages
  6. LANGUAGE_CODE在settings.py 中将我设置为'es'
  7. 添加django.middleware.locale.LocaleMiddlewareMIDDLEWARE_CLASSESSessionMiddleware和CommonMiddleware之间.
  8. 重新启动Django,刷新了我的页面.

只有英语陈述仍然显示.我在这做错了什么?我错过了什么?

res*_*ate 5

您是否尝试过LOCALE_PATHS在设置文件中进行设置?这为我修复了它......有关更多信息,请查看我为类似问题编写的答案或 django's official documentation for the LOCALE_PATHSsetting


int*_*rgc 0

好吧,我发现了问题...我的 po 文件位于./conf/locale而不只是./locale.

我创建的原因./conf/locale是因为当我 rand 时django-admin.py makemessages,它指示我这样做。但是,如果它位于您的本地项目目录中,那么它只是简单的./locale.