在 Django 1.4 上,我想在我的网站中使用两种语言,土耳其语('tr')和英语('en')。
这是我目前的设置:
设置.py:
USE_I18N = True
LANGUAGES = (
('en', 'English'),
('tr', 'Turkish'),
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware', # I have locale middleware
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
LOCALE_PATHS = (
'/myproject/locale/',
)
我的语言环境文件是这样的目录顺序:
#tr files
/myproject/locale/tr/LC_MESSAGES/django.mo
/myproject/locale/tr/LC_MESSAGES/django.po
#en files
/myproject/locale/en/LC_MESSAGES/django.mo
/myproject/locale/en/LC_MESSAGES/django.po
而且我仍然看不到我的翻译,从我的 shell 中尝试(它也不适用于 {% trans "Corporate" %} 模板):
>>> from django.utils import translation
>>> translation.activate('tr')
>>> translation.ugettext('Corporate')
u'Corporate'
我在这里错过了什么吗?奇怪的是,它翻译成“家”之类的词,因为原始 Django 有这些翻译,但没有我的翻译文件。