Я создаю переключатель языка для Django.Есть множество примеров, но ни один из них, похоже, не решает проблему, с которой я столкнулся.Я всегда получаю короткую версию языкового кода.Вместо en-us
я получаю en
.
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<a href="/{{ language.code }}{{ request.get_full_path|slice:'6:' }}"
class="{% if language.code == LANGUAGE_CODE %}selected{% endif %}"
lang="{{ language.code }}">
{{ language.name }}
</a>
{% endfor %}
Мои ЯЗЫКИ в settings.py
определены как:
LANGUAGES = (
('en-us', _('English')),
('fr-ca', _('French (Canada)')),
)
Я предполагал, что {{ language.code }}
даст мне либо en-us
или fr-ca
.Вместо этого я получаю en
и fr
.Просто чтобы убедиться, что я проверил, работает ли LANGUAGE_CODE
и возвращает ли он en-us
, как ожидалось.Это просто get_language_info_list
, что, похоже, не работает для меня.
Я чувствую, что здесь упускаю что-то очень простое.