i18n: EN-Lagen-Seiten + zweisprachiges Kontaktformular (Phase 3+4)
Phase 3 - Englische Lagebild-Seiten: - /en/situations/iran-conflict/, /en/situations/cyber-attacks/, /en/situations/deepfakes/ erstellt (Mirror der DE-Lagen mit englischer UI) - lagebild.js: curLang() liest jetzt direkt <html lang>; neuer dataBase()-Helper, damit EN-Seiten die JSON-Daten aus dem DE-Pfad nachladen koennen (window.LAGEBILD_DATA_BASE pro Seite) - 4 zuvor hardcodierte DE-Strings (emptyDevelopments, emptySummary, Quelle-Tooltip, Schliessen-Aria) ueber t() und das vorhandene lang.de/lang.en-Dictionary uebersetzt - DE-Lagen-Seiten: hreflang-Tags wieder aktiv, Toggle zeigt nun korrekt auf das EN-Pendant statt /en/ - en/index.html Karussell-Buttons zeigen auf EN-Lagen - Sitemap mit hreflang-Alternativen fuer alle Lagen ergaenzt Phase 4 - Kontaktformular zweisprachig (Frontend): - js/app.js submitContact() liest <html lang>, sendet lang im POST und zeigt Sende-/Fehler-Texte in der jeweiligen Sprache - Backend (contact-form.py) wird separat ausgerollt, ist aber abwaertskompatibel: bei fehlendem lang-Param defaultet es auf de Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -350,7 +350,7 @@
|
||||
<div class="demo-excerpt" id="demo-excerpt">
|
||||
<div class="excerpt-text" id="excerpt-text">Situation report loading...</div>
|
||||
</div>
|
||||
<a href="/lagen/iran-konflikt/" class="btn btn-primary btn-block">Open full situation report</a>
|
||||
<a href="/en/situations/iran-conflict/" class="btn btn-primary btn-block">Open full situation report</a>
|
||||
</div>
|
||||
<!-- Cyberattacks -->
|
||||
<div class="carousel-card card-live" data-index="1" data-lage="cyberangriffe">
|
||||
@@ -360,7 +360,7 @@
|
||||
<div class="demo-excerpt" id="demo-excerpt-cyberangriffe">
|
||||
<div class="excerpt-text" id="excerpt-text-cyberangriffe">Situation report loading...</div>
|
||||
</div>
|
||||
<a href="/lagen/cyberangriffe/" class="btn btn-primary btn-block">Open full situation report</a>
|
||||
<a href="/en/situations/cyber-attacks/" class="btn btn-primary btn-block">Open full situation report</a>
|
||||
</div>
|
||||
<!-- Deepfakes Research -->
|
||||
<div class="carousel-card card-live" data-index="2" data-lage="deepfakes">
|
||||
@@ -370,7 +370,7 @@
|
||||
<div class="demo-excerpt" id="demo-excerpt-deepfakes">
|
||||
<div class="excerpt-text" id="excerpt-text-deepfakes">Research loading...</div>
|
||||
</div>
|
||||
<a href="/lagen/deepfakes/" class="btn btn-primary btn-block">Open full research</a>
|
||||
<a href="/en/situations/deepfakes/" class="btn btn-primary btn-block">Open full research</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-nav">
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren