Django 1.4 では、サイトにトルコ語 ('tr') と英語 ('en') の 2 つの言語を使用したいと考えています。
これは私の現在の設定です:
settings.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
そして、シェルから試してみても、翻訳をまだ見ることができません ({% trans "Corporate" %} のようなテンプレートでも機能しません):
>>> from django.utils import translation
>>> translation.activate('tr')
>>> translation.ugettext('Corporate')
u'Corporate'
ここで何か不足していますか?奇妙なことに、元の Django にはこれらの翻訳がありますが、私の翻訳ファイルがないため、「ホーム」などの単語は翻訳されます。