Django 国际化 虽然页面语言已切换中文 但是无效

发布于 2022-09-03 19:32:32 字数 1388 浏览 20 评论 0

简单版:我使用的是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里)

...
<!-- Current language: {{ LANGUAGE_CODE }} -->
<p>{% blocktrans %}Harbor. Shelter. WC. SDK.{% endblocktrans %}</p>
...

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.。
请问我到底漏掉了什么?谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

挽清梦 2022-09-10 19:32:32

你的settings写的是en-us

伪装你 2022-09-10 19:32:32

可以这个试试用这个行不行。。

${_("Harbor. Shelter. WC. SDK.)}
梦里的微风 2022-09-10 19:32:32

试一下
{% load i18n %} #这个很容易被遗漏掉

栀梦 2022-09-10 19:32:32

LANGUAGE_CODE = 'en-us' 改为LANGUAGE_CODE = 'zh-hans'
你修改的TIME_ZONE = 'Asia/Shanghai'是时区的修改

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文