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:
@@ -5,6 +5,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Lagebild: Cyberangriffe auf deutsche Infrastruktur - AegisSight</title>
|
||||
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
|
||||
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/lagen/cyberangriffe/">
|
||||
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/situations/cyber-attacks/">
|
||||
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/lagen/cyberangriffe/">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="stylesheet" href="/css/main.css">
|
||||
<link rel="stylesheet" href="/css/fonts.css">
|
||||
@@ -33,7 +36,7 @@
|
||||
<div class="lang-switcher" role="group" aria-label="Sprache">
|
||||
<span class="lang-active" lang="de" aria-current="true">DE</span>
|
||||
<span class="lang-sep" aria-hidden="true">|</span>
|
||||
<a class="lang-link" href="/en/" lang="en" hreflang="en" rel="alternate">EN</a>
|
||||
<a class="lang-link" href="/en/situations/cyber-attacks/" lang="en" hreflang="en" rel="alternate">EN</a>
|
||||
</div>
|
||||
<button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false">
|
||||
<span class="hamburger"><span></span><span></span><span></span></span>
|
||||
@@ -54,7 +57,7 @@
|
||||
<div class="lang-switcher" role="group" aria-label="Sprache">
|
||||
<span class="lang-active" lang="de" aria-current="true">DE</span>
|
||||
<span class="lang-sep" aria-hidden="true">|</span>
|
||||
<a class="lang-link" href="/en/" lang="en" hreflang="en" rel="alternate">EN</a>
|
||||
<a class="lang-link" href="/en/situations/cyber-attacks/" lang="en" hreflang="en" rel="alternate">EN</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mobile-menu-overlay"></div>
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren