DP_*_*DP_ 6 python django django-models django-admin
我有一个名为Django的应用程序Topic.我想在Django管理员中翻译这个模型的复数(参见下面屏幕截图中的红色椭圆).

为了做到这一点,我做了以下事情:
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')
Run Code Online (Sandbox Code Playgroud)
2)Ran django-admin.py makemessages -l ru-RU,生成一个文件locale/ru/django.po.
3)在django.po文件中添加了翻译:
msgid "topic"
msgstr "????"
msgid "topics"
msgstr "????"
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
但它仍然不起作用(管理员中标记的字母仍然以英文显示,而不是俄文).
我该怎么做才能解决这个问题?
更新1(2013年9月28日13:26):我的目录结构可能有问题.这里是:

可能localedir 不在您的应用程序目录中或未在LOCALE_PATHS. https://docs.djangoproject.com/en/dev/topics/i18n/translation/#how-django-discovers-translations
它应该生成一个文件locale/ru-RU/LC_MESSAGES/django.po。
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |