需要将Django contrib消息翻译成不同的语言。
这是我尝试的代码:
在Views.py
from django.utils.translation import gettext as _
messages.success(self.request, _("Sample text"))
在模板中:
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
<a class="close" data-dismiss="alert">×</a>
{{ message }}
</div>
{% endfor %}
但是文本没有得到翻译。有什么特殊的翻译方法吗?我正在使用python3和Django 1.11
答案 0 :(得分:1)
settings.py
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
...
]
LANGUAGE_CODE = 'en'
LANGUAGES = (
('en', 'English'),
('fr', 'French')
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
然后:
python manage.py makemessages -l fr
在locale文件夹中翻译法语的邮件
然后是python manage.py compilemessages -l fr