首页 > 解决方案 > 语言选择器没有切换到中文

问题描述

我从文档中直接制作了一个语言选择器,当我运行服务器时,我可以切换到英语和荷兰语。但是,当我尝试切换到中文时,它又回到了英文。
导航栏.html

 <form action="{% url 'set_language' %}" method="post">{% csrf_token %}
          <input name="next" type="hidden" value="{{ redirect_to }}" />
          <select name="language" onclick="Bonjour">
              {% get_current_language as LANGUAGE_CODE %}
              {% get_available_languages as LANGUAGES %}
              {% get_language_info_list for LANGUAGES as languages %}
              {% for language in languages %}
                  <option value="{{ language.code }}"{% if language.code = LANGUAGE_CODE %}      selected="selected"{% endif %}>
                      {{ language.name_local }} ({{ language.code }})
                  </option>
              {% endfor %}
          </select>
          <input type="submit" value="Go" />
      </form>

设置.py:

MIDDLEWARE = [
    ...
    "django.middleware.locale.LocaleMiddleware",
    ...
]
...

# Translations
USE_I18N = True

USE_L10N = True

LANGUAGES = (
    ("en", u"English"),
    ("zh-cn", u"简体中文"),
    ('de', u"German"),
)
...

语言环境路径: 我有荷兰语和中文。它们位于路径下,locales/文件夹名为de, 和zh-cn

让我知道您是否需要查看更多代码,以及从哪里查看。

标签: pythondjangowagtail

解决方案


正如加斯曼所说:
“我没有完全了解细节,但我知道 zh-cn 已被弃用 - 请参阅github.com/wagtail/wagtail/issues/3668。也许将其更改为zh-hans可行?”
将其更改为zh-hans就像那样工作,并确保将语言环境文件夹和语言名称命名为settings.py.


推荐阅读