Django 1.11
settings.py
INSTALLED_APPS = [
...
'general',
'general_frame',
...
]
LANGUAGE_CODE = 'ru-RU'
USE_I18N = True
USE_L10N = True
常规/ models.py
class GeneralModel(models.Model):
"""Sharing common features of models."""
title = models.CharField(max_length=200,
null=False,
blank=False,
default="",
verbose_name=_("title"))
general_frame / models.py
class GeneralFrame(GeneralModel):
DOCUMENT = 'D'
PHOTO = 'P'
PHOTO_DOCUMENT_CHOICES = ((None, '----'),
(DOCUMENT, _('document')),
(PHOTO, _('photo')),)
type = models.CharField(max_length=1, choices=PHOTO_DOCUMENT_CHOICES,
blank=False,
null=False,
default="---",
verbose_name=_('type'))
我已经执行了makemessages和compilemessages。结构如下:
项目结构:
├── general
│ ├── locale
│ │ └── ru_RU
│ │ └── LC_MESSAGES
│ │ ├── django.mo
│ │ └── django.po
├── general_frame
│ ├── locale
│ │ └── ru_RU
│ │ └── LC_MESSAGES
│ │ ├── django.mo
│ │ └── django.po
问题是:GeneralFrame中的所有内容都已翻译,bot GeneralModel未翻译。我的意思是文件,照片和类型被翻译。但标题没有翻译。
我多次制作消息,检查.po文件和重新编译的消息。
你能帮我一把吗?
答案 0 :(得分:0)
所以,我的猜测是真的呃? :)
为了让django发现你翻译的字符串,你需要确保用django的一种翻译方法包装字符串,你可以在docs找到它。确保您导入了如下所需的翻译方法:
from django.utils.translation import ugettext_lazy as _
# now you can use _('your string'), and django will discover your string