После добавления нового языка на мой сайт.Я пытаюсь изменить язык сайта, но он не работает.
from django.conf import locale
LANGUAGES = (
('en', _('English')),
('fr', _('French')),
('zz', _('Zulu Pic')),
)
EXTRA_LANG_INFO = {
'ht': {
'bidi': False, # right-to-left
'code': 'zz',
'name': 'Zulu Pic',
'name_local': u'Zulu Pic', #unicode codepoints here
},
}
locale.LANG_INFO = dict(locale.LANG_INFO,**EXTRA_LANG_INFO)
LANGUAGE_CODE = 'en'
Я установил URL-адрес в своем корневом проекте:
path('i18n/setlange', include('django.conf.urls.i18n')),
И в моем HTML:
<form action="{% url 'set_language' %}" method="post" class="">
<input name="next" type="hidden" value="{{ request.path }}">
{% csrf_token %}
<select name="language" class="form-control form-control-sm">
{% 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|title }} ({{ language.code|upper }})
</option>
{% endfor %}
</select>
</form>
Отправьте форму с помощью js
$("select[name=language]").change(function(){
$(this).closest("form").submit();
});
Каждый раз, когда я выбираю zz в качестве языка, он не выбирается.На сайте отображается значение по умолчанию: «EN».
«FR» работает правильно.