我正在使用Django 1.10。我想要的是,将中文翻译添加到我的页面。
虽然该语言已切换为zh-hans,但翻译未成功显示。
我指的是官方指南https://docs.djangoproject.com/en/1.10/topics/i18n/translation/ 这是我的代码中的内容。 (我正在使用当地)
settings.py :
...
MIDDLEWARE = [
...
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
TEMPLATES = [
{ ...
'OPTIONS': {
'context_processors': [
'django.template.context_processors.i18n',
...
],},},]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LOCALE_PATHS = (os.path.join(BASE_DIR, 'locale'))
...
index.html ,位于“主页”应用中:
...
<!-- Current language: {{ LANGUAGE_CODE }} -->
<p>{% blocktrans %}Harbor. Shelter. WC. SDK.{% endblocktrans %}</p>
...
django.po ,位于(root)/ locale / zh_hans / LC_MESSAGES
#: home/templates/home/index.html:23 msgid "Harbor. Shelter. WC. SDK." msgstr "高端黑"
然后我重新编译了消息,重新启动了服务器,然后重新加载了页面。 (我使用了go-incognito,这意味着没有缓存。)
从评论部分的{{LANGUAGE_CODE}},我可以看到语言切换得非常好,已经是“zh-hans”。
然而,翻译没有显示,字符串仍然是“Harbour.Shelter.WC.SDK。”,仍未翻译。
出了什么问题?我错过了什么?
答案 0 :(得分:0)
鉴于你很久以前发布了这个问题,你可能已经解决了这个问题,但这是我发现的作品。以为我为了以防万一而告诉您。
我发现的解决方案(我不知道它为什么有效......必须是一个错误)是创建一个带有下划线和大写字母H的语言环境文件夹。
所以它看起来像:
django-admin makemessages -l zh_Hans