{% load i18n %} <form action="{% url 'set_language' %}" method="post">{% csrf_token %} <input name="next" type="hidden" value="{{ redirect_to }}" /> <select name="language"> {% 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><input name="next" type="hidden" value="{{ redirect_to }}" />
On Thursday 02 February 2017 11:10:31 Reto Steffen wrote:
> But now I'm adding a third language and
> <input name="next" type="hidden" value="{{ redirect_to }}" />
> is redirecting to the "next" language
Common misconception. This is the URL to redirect to after the language has been changed. The redirect_to variable should be set in the view's context. This ensures you stay at the same page - just in another language.
So if the language isn't set properly, something else is going wrong.
--
Melvyn Sopacua