From 180a77aa8b3193b67f913ec10c5206469dcdbe05 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 16 Jul 2026 08:23:17 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Mehrsprachigkeit=20v2=20=E2=80=94=20Fla?= =?UTF-8?q?g-Dropdown=20auf=20allen=20Seiten=20+=20localStorage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Sprachwahl per Flag-only Dropdown (πŸ‡©πŸ‡ͺπŸ‡¬πŸ‡§πŸ‡«πŸ‡·πŸ‡ͺπŸ‡Έ) in Header auf Index + Detail - localStorage-Persistenz: Sprache bleibt ΓΌber Seitenwechsel erhalten - Kommentare werden mitΓΌbersetzt und in translations-Tabelle gecached - _lang_dropdown_html() als zentrale Hilfsfunktion - Mobile-First: Dropdown statt 4 Buttons β€” 44px Touch-Target --- app.py | 149 +++++++++++++++++++++++ src/app.py | 348 ++++++++++++++++++++--------------------------------- 2 files changed, 280 insertions(+), 217 deletions(-) diff --git a/app.py b/app.py index a888e7c..159274c 100644 --- a/app.py +++ b/app.py @@ -2581,6 +2581,9 @@ def user_profile(): @app.route("/") def public_frontend(): + lang = request.args.get("lang", "de") + if lang not in ("de", "en", "fr", "es"): + lang = "de" """Public frontend showing published submissions β€” SPIEL Essen inspired.""" import base64 db = get_db() @@ -3174,6 +3177,7 @@ def public_frontend():