というモデルの Django アプリケーションがありますTopic
。このモデルの複数形を Django admin で翻訳したいと考えています (下のスクリーンショットの赤い楕円を参照)。
これを行うために、次のことを行いました。
1) models.pyのモデルにMetaクラスを追加しました:
from django.utils.translation import ugettext_lazy as _
class Topic(models.Model):
title = models.CharField(max_length=140)
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('topic')
verbose_name_plural = _('topics')
django-admin.py makemessages -l ru-RU
2)ファイルを生成したRan locale/ru/django.po
。
django.po
3)ファイルに翻訳を追加:
msgid "topic"
msgstr "Тема"
msgid "topics"
msgstr "Темы"
4) ランdjango-admin.py compilemessages
。
5)settings.py
以下の設定があるように変更しました。
LANGUAGE_CODE = 'ru-RU'
ugettext = lambda s: s
LANGUAGES = (
('ru-RU', ugettext('Russian')),
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
USE_I18N = True
USE_L10N = True
しかし、それでも機能しません (アドミンでマークされた文字は、ロシア語ではなく英語で表示されます)。
これを修正するにはどうすればよいですか?
更新 1 (28.09.2013 13:26):ディレクトリ構造に問題がある可能性があります。ここにあります: