我不确定之前是否有人遇到此问题:
我在django cms的管理员中有这些页面。
这些是我使用django cms创建的页面,语言来自settings.py
的LANGUAGES
我使用{% language_chooser %}
,它会显示LANGUAGES
中定义的所有语言。
我想要的是:如果我在home
,在language_chooser中,只显示那些创建了页面的语言。在这种情况下,只有english
,german
和espaniol
我怎样才能做到这一点?任何指导表示赞赏
已解决,但是......
我最终在language_chooser.html
中使用了这个{% load i18n menu_tags %}
{% get_available_languages as languages %}
{% if languages|length > 1 %}
{% for language in languages %}
{% if language.1 in current_page.get_languages %}
<li class="lang{% ifequal current_language language.0 %} active{% endifequal %}">
<a href="{% page_language_url language.0 %}"
title="{% trans "Change to language:" %} {{ language.1 }}">{{ language.0 }}</a>
</li>
{% endif %}
{% endfor %}
{% endif %}
但这只出现在home
页面,而不是其他页面,任何想法? BTW,其他页面是AppHooks
答案 0 :(得分:0)
我刚刚这样做了:
{% if languages|length > 1 %}
{% for language in languages %}
<li class="lang{% ifequal current_language language.0 %} active{% endifequal %}">
<a href="/./{{ language.0 }}/"
title="{% trans "Change to language:" %} {{ language.1 }}">{{ language.0 }}</a>
</li>
{% endfor %}
{% endif %}
意思是..如果他们更改语言,只需将用户重定向到主页面。
<a href="/./{{ language.0 }}/"
..
并确保仅在settings.py中定义您的网站具有翻译的语言..