Add flag dropdown language switcher

This commit is contained in:
2026-04-26 12:05:31 +02:00
parent b06527e17d
commit fba487f21c
9 changed files with 77 additions and 12 deletions

View File

@@ -5,18 +5,32 @@
{% get_available_languages as available_languages %}
{% get_language_info_list for available_languages as languages %}
<form action="{% url 'set_language' %}" method="post" class="ms-lang-switcher me-2" aria-label="{% trans 'Language switcher' %}">
{% csrf_token %}
<input name="next" type="hidden" value="{{ request.path }}"/>
<label for="header-language-switcher" class="visually-hidden">{% trans "Language" %}</label>
<select id="header-language-switcher" name="language" class="form-select form-select-sm" onchange="this.form.submit()">
{% for language in languages %}
<option value="{{ language.code }}" {% if language.code == current_language %}selected{% endif %}>
{{ language.code|upper }}
</option>
{% endfor %}
</select>
</form>
<div class="dropdown language-dropdown me-2">
<button
type="button"
class="dropdown-toggle user-button menu-circle"
id="header-language-switcher"
data-bs-toggle="dropdown"
aria-expanded="false"
aria-label="{% trans 'Language switcher' %}"
>
{% include "oxyan/partials/flags/"|add:current_language|add:".svg" %}
</button>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="header-language-switcher">
<form action="{% url 'set_language' %}" method="post" class="language_form">
{% csrf_token %}
<input name="next" type="hidden" value="{{ request.path }}"/>
{% for language in languages %}
<li>
<button class="dropdown-item d-flex align-items-center gap-2" type="submit" value="{{ language.code }}" name="language">
{% include "oxyan/partials/flags/"|add:language.code|add:".svg" %}
<span>{{ language.name_local|title }}</span>
</button>
</li>
{% endfor %}
</form>
</ul>
</div>
<a
tabindex="0"