简单版:我使用的是django 1.10。我想给我的网站内容加上中文翻译,我按照官方教程设置了自己的项目,编译了po文件,但是在页面发现翻译没有生效,不知道是哪里出了差错。
下面是超详细版:
Django版本为1.10,我参考的教程如下:
https://docs.djangoproject.co...
我的代码如下:
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:(在home那个app里)
...{% blocktrans %}Harbor. Shelter. WC. SDK.{% endblocktrans %}
...
django.po: (位于网站根目录的locale/zh_hans/LC_MESSAGES文件夹中)
#: home/templates/home/index.html:23 msgid "Harbor. Shelter. WC. SDK." msgstr "高端黑"
接着我编译,并重启了服务器,进入该页面,
虽然从{{ LANGUAGE_CODE }}可以看出语言已经是zh-hans,
结果发现根本没有翻译,出现的还是英文字符串Harbor. Shelter. WC. SDK.。
请问我到底漏掉了什么?谢谢!
试一下
{% load i18n %} #这个很容易被遗漏掉
可以这个试试用这个行不行。。
${_("Harbor. Shelter. WC. SDK.)}
你的settings写的是en-us