From 6a55a3e475036e4fe74ce8f73bc02967da8e5104 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 16 Jul 2026 08:04:10 +0200 Subject: [PATCH] feat: Mehrsprachigkeit EN/FR/ES via Mistral + Sprachumschalter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Übersetzung per ministral-3b-latest (on-demand + DB-Cache) - Sprachumschalter im Detailseiten-Header (DE/EN/FR/ES) - ?lang= Query-Parameter auf /beitrag/ - Neue translations-Tabelle mit submission_id+lang UNIQUE --- app.py | 8 ++++- src/app.py | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 97 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index 1f49c87..a888e7c 100644 --- a/app.py +++ b/app.py @@ -4486,6 +4486,9 @@ def api_submit(): @app.route("/beitrag/") def public_detail(sub_id: int): + lang = request.args.get("lang", "de") + if lang not in ("de", "en", "fr", "es"): + lang = "de" """Public detail view — full media, text, and metadata.""" import base64 db = get_db() @@ -4558,7 +4561,10 @@ def public_detail(sub_id: int): except Exception: pass - content = (row["summary"] or row["content"] or "").strip() + # ── Mehrsprachigkeit ── + translation = get_translated_content(db, sub_id, lang, row) + content = translation["content"] + display_text = translation["display_text"] # Comments comment_rows = db.execute( diff --git a/src/app.py b/src/app.py index 2869c1b..b659c64 100644 --- a/src/app.py +++ b/src/app.py @@ -3323,7 +3323,7 @@ def public_frontend(): -