Django 1.5.5始终显示原始(en)字符串(不翻译)

时间:2013-12-11 12:10:14

标签: django configuration django-templates translation

我正在尝试在模板中实现简单的Django 1.5.5字符串翻译。

我有:

    USE_I18N = True
  1. settings.py 位于'django.middleware.locale.LocaleMiddleware'
  2. MIDDLEWARE_CLASSES中的
  3. settings.py 位于'django.core.context_processors.i18n'
  4. TEMPLATE_CONTEXT_PROCESSORS中的
  5. settings.py
  6. 模板中的一些{% trans "My string" %}字符串
  7. 所有模板中的
  8. {% load i18n %}
  9. python manage.py makemessages -l he
  10. 使用Poedit翻译我的字符串
  11. python manage.py compilemessages
  12. LOCALE_PATHS = ('conf/locale',)
  13. settings.py
  14. 重新启动服务器
  15. 翻译的字符串仍为英文。

    我使用模板中的he检查当前语言是否为{% get_current_language as LANG %}{{ LANG }}

    我做了什么值得这样做我哪里出错?

1 个答案:

答案 0 :(得分:1)

答案(从评论中更新):

这似乎是一个路径问题(否则你会看到一些错误)。

尝试在您的设置中执行以下操作:


import os
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) 

LOCALE_PATHS = ( os.path.join(PROJECT_PATH, '../locale'), ) 
print LOCALE_PATHS

完全确定你有正确的道路。

另外请不要忘记,您需要拥有包含django.mo(和po)文件的路径locale/he/LC_MESSAGES/