mirror of
https://github.com/wger-project/wger.git
synced 2026-02-18 00:17:51 +01:00
feat: make the language dropdown items set the language cookie
Include i18n urls then add a form to set the cookie using the currently implemented items
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
{% load i18n static %}
|
||||
|
||||
<li>
|
||||
<a class="dropdown-item" href="{{ i18n_path }}">
|
||||
<button class="dropdown-item" type="button" data-language="{{ code }}">
|
||||
<img src="{% static path %}"
|
||||
width="20"
|
||||
alt="{% translate name %}"
|
||||
title="{% translate name %}">
|
||||
{% translate name %} / <small>{{ name }}</small>
|
||||
</a>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
@@ -203,15 +203,32 @@
|
||||
</button>
|
||||
|
||||
<ul class="dropdown-menu language-menu" aria-labelledby="btnGroupLanguages">
|
||||
|
||||
<li>
|
||||
<a href="" class="dropdown-item">
|
||||
<span class="{% fa_class 'globe' %}"></span>
|
||||
<span>{% translate "Browser language" %}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% for language in languages %}
|
||||
{% language_select language %}
|
||||
{% endfor %}
|
||||
|
||||
<form id="language-form" action="{% url 'set_language' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<input name="next" type="hidden" value="{{ redirect_to }}">
|
||||
<input type="hidden" name="language" id="language-input">
|
||||
{% for language in languages %}
|
||||
{% language_select language %}
|
||||
{% endfor %}
|
||||
</form>
|
||||
<script>
|
||||
document.querySelectorAll('[data-language]').forEach(item => {
|
||||
item.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
document.getElementById('language-input').value = this.dataset.language;
|
||||
document.getElementById('language-form').submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<li>
|
||||
<hr class="dropdown-divider"></hr>
|
||||
</li>
|
||||
|
||||
@@ -297,6 +297,7 @@ urlpatterns = i18n_patterns(
|
||||
# URLs without language prefix
|
||||
#
|
||||
urlpatterns += [
|
||||
path("i18n/", include("django.conf.urls.i18n")),
|
||||
path('robots.txt', TextTemplateView.as_view(template_name='robots.txt'), name='robots'),
|
||||
# API
|
||||
path('api/v2/exercise/search/', exercises_api_views.search, name='exercise-search'),
|
||||
|
||||
Reference in New Issue
Block a user