From b3aacdd8fa6bda80581c01feb6fc71208b108eda Mon Sep 17 00:00:00 2001 From: MandelBot Date: Mon, 16 Mar 2026 06:44:50 +0000 Subject: [PATCH] Add polished language switcher and multilingual language-test page --- .../templates/mandelstudio/language_test.html | 40 +++++++++++++++++++ .../headers/partials/carbasa-user-bar.html | 38 +++++++++++++++--- mandelstudio/urls.py | 2 + mandelstudio/views.py | 14 +++++++ 4 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 mandelstudio/templates/mandelstudio/language_test.html create mode 100644 mandelstudio/views.py diff --git a/mandelstudio/templates/mandelstudio/language_test.html b/mandelstudio/templates/mandelstudio/language_test.html new file mode 100644 index 0000000..8a2197b --- /dev/null +++ b/mandelstudio/templates/mandelstudio/language_test.html @@ -0,0 +1,40 @@ +{% load i18n %} + + + + + + {% trans "Language Test" %} + + + +
+
+

{% trans "Language Switch Test Page" %}

+

{% blocktrans %}Current language code: {{ current_language }}{% endblocktrans %}

+ +
+ {% for code, name in languages %} + {% language code %} + + {{ code|upper }} - {{ name }} + + {% endlanguage %} + {% endfor %} +
+ + {% trans "Back to homepage" %} +
+
+ + diff --git a/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html b/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html index a149c87..d63b92e 100644 --- a/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html +++ b/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html @@ -1,14 +1,42 @@ {% load i18n %} +
-
+ LANG + {% csrf_token %} - {% get_current_language as LANGUAGE_CODE %} {% get_available_languages as LANGUAGES %} {% for code, name in LANGUAGES %} - + {% if code in nl,en,de,fr,es,it,pt,ru %} + + {% endif %} {% endfor %}
@@ -16,8 +44,8 @@ - - {% include 'oxyan/headers/partials/mini_basket.html' %} + + {% include oxyan/headers/partials/mini_basket.html %}
diff --git a/mandelstudio/urls.py b/mandelstudio/urls.py index 4f83e7b..cbaefa6 100644 --- a/mandelstudio/urls.py +++ b/mandelstudio/urls.py @@ -2,12 +2,14 @@ from django.conf.urls.i18n import i18n_patterns from django.urls import include, path from ocyan.main.urls import urlpatterns as ocyan_urlpatterns +from mandelstudio.views import language_test urlpatterns = [ path("i18n/", include("django.conf.urls.i18n")), ] urlpatterns += i18n_patterns( + path("language-test/", language_test, name="language_test"), *ocyan_urlpatterns, prefix_default_language=False, ) diff --git a/mandelstudio/views.py b/mandelstudio/views.py new file mode 100644 index 0000000..51911b1 --- /dev/null +++ b/mandelstudio/views.py @@ -0,0 +1,14 @@ +from django.conf import settings +from django.shortcuts import render +from django.utils.translation import get_language + + +def language_test(request): + return render( + request, + "mandelstudio/language_test.html", + { + "current_language": get_language(), + "languages": settings.LANGUAGES, + }, + )