Web-Demo mehrsprachig + Sprachseiten bekommen Demo und Kauf

Beim Nachgehen der Frage 'warum gibt es auf den Sprachseiten kein Payment'
kam heraus: Die Web-Demo antwortete AUSSCHLIESSLICH auf Deutsch. Die
Uebersetzung war bisher reine App-Funktion — und die App gibt es noch nicht.
Kauf-Knoepfe auf der tuerkischen Seite haetten also 2,99 EUR fuer eine
deutsche Antwort kassiert. Deshalb zuerst der Worker:

- /demo nimmt jetzt 'zielsprache' entgegen (28 erlaubte Codes, Whitelist —
  der Wert geht nie als freier Text in den Prompt, sonst koennte man eigene
  Anweisungen einschleusen).
- Der deutsche Fachbegriff bleibt deutsch, nur dessen Erklaerung wird
  uebersetzt — der Nutzer muss ihn im Brief wiederfinden.
- demo.html hat eine Sprachauswahl und merkt sich die Wahl; die Sprachseiten
  verlinken mit ?sprache=xx.

Erst danach die Sprachseiten: Demo-Knopf als Haupt-Handlung (es gab bisher
GAR KEINEN — man konnte das Produkt in 27 Sprachen nicht einmal ausprobieren)
und ein Kauf-Abschnitt mit uebersetzter Pflicht-Einwilligung nach §356 BGB.

Geprueft: 27 Dateien ohne Syntaxfehler, keine offenen Platzhalter, Kauf
liefert cs_live_. Zwei Tippfehler im bulgarischen Text korrigiert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
JUSNandClaude Opus 5 committed 2026-09-19 16:27:59 +02:00
1 parent 5486a6aafb
commit 7780d381b3
32 files changed
+2157 -114

No files matched your search

+13
View File
@@ -154,6 +154,19 @@ function seite(s) {
.replace(/\{\{SCHEMA\}\}/g, schemaBlock(s, t))
.replace(/\{\{S4_TITEL\}\}/g, t.s4Titel || 'FAQ')
.replace(/\{\{FAQ_HTML\}\}/g, faqHtml(t))
.replace(/\{\{CTA_DEMO\}\}/g, t.ctaDemo)
.replace(/\{\{CTA_KAUF\}\}/g, t.ctaKauf)
.replace(/\{\{DEMO_HINWEIS\}\}/g, t.demoHinweis)
.replace(/\{\{KAUF_TITEL\}\}/g, t.kaufTitel)
.replace(/\{\{KAUF_H3\}\}/g, t.kaufH3)
.replace(/\{\{KAUF_TEXT\}\}/g, t.kaufText)
.replace(/\{\{KAUF_EMAIL\}\}/g, t.kaufEmail)
.replace(/\{\{KAUF_KONSENS\}\}/g, t.kaufKonsens)
.replace(/\{\{KAUF_SICHER\}\}/g, t.kaufSicher)
.replace(/\{\{PAKET_WORT\}\}/g, t.paketWort)
.replace(/\{\{AUF_DEUTSCH\}\}/g, t.aufDeutsch)
.replace(/\{\{KAUF_FEHLER_HAKEN\}\}/g, t.kaufFehlerHaken)
.replace(/\{\{KAUF_FEHLER_ALLG\}\}/g, t.kaufFehlerAllg)
.replace(/\{\{WAEHLER\}\}/g, waehlerBlock(s.code, t.navLabel))
.replace(/\{\{H1_A\}\}/g, t.h1a)
.replace(/\{\{H1_B\}\}/g, t.h1b)