i18n: Aufraeumen und Doku-Update (Phase 5)

- lagebild.js: tote initLangToggle() und switchContent() entfernt;
  initTranslations()-Aufruf aus init() raus (translations.js gibt es
  nicht mehr). Kein neues Verhalten, nur Aufraeumen.
- CLAUDE.md aktualisiert: en/situations/-Struktur, Slug-Mapping,
  Daten-Freigabe-Konzept, Kontaktformular i18n-Hinweis,
  CHANGE_LOG erweitert.

Backend (contact-form.py) wurde live ausgerollt und ist nicht im
Repo (liegt unter /opt/v2-Docker/aegis-website/), Backup unter
contact-form.py.bak.<timestamp>.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
2026-05-06 23:30:24 +02:00
Ursprung 645fb33898
Commit f874d1dee0
2 geänderte Dateien mit 30 neuen und 71 gelöschten Zeilen

Datei anzeigen

@@ -50,6 +50,10 @@ STRUCTURE:
- index.html: Hauptseite (EN)
- legal-notice.html: Impressum (EN, Hinweis "German version prevails")
- privacy.html: Datenschutz (EN, Hinweis "German version prevails")
situations:
- iran-conflict/index.html: Lagebild Iran (EN-Mirror, teilt /lagen/iran-konflikt/data)
- cyber-attacks/index.html: Lagebild Cyberangriffe (EN-Mirror, teilt /lagen/cyberangriffe/data)
- deepfakes/index.html: Recherche Deepfakes (EN-Mirror, teilt /lagen/deepfakes/data)
assets:
fonts: [Inter, Bebas Neue]
@@ -98,12 +102,23 @@ PAGES:
product:
- AccountForger Video-Demo
lagen:
url_struktur: /lagen/{thema}/
url_struktur:
de: /lagen/{thema}/
en: /en/situations/{slug}/ (slug ist die englische URL-Variante)
slug_mapping:
iran-konflikt: iran-conflict
cyberangriffe: cyber-attacks
deepfakes: deepfakes
daten_freigabe: |
EN-Mirror-Seiten setzen window.LAGEBILD_DATA_BASE auf den DE-Pfad,
damit beide Sprachvarianten die gleichen JSON-Daten laden. Das
lagebild.js liest curLang() aus <html lang> und schaltet UI-Strings
automatisch um (lang.de / lang.en Dictionary).
redirect: /lagebild/ -> 301 -> /lagen/iran-konflikt/
aktiv:
- iran-konflikt: Live-Lagebild Irankonflikt (ehemals /lagebild/)
geplant:
- (2 weitere Lagen in Vorbereitung)
- iran-konflikt / iran-conflict: Live-Lagebild Irankonflikt
- cyberangriffe / cyber-attacks: Live-Lagebild Cyberangriffe
- deepfakes / deepfakes: Recherche-Briefing Deepfakes
vorschau:
url: /vorschau/
zweck: Produktseite AegisSight Monitor (ersetzt spaeter die Hauptseite)
@@ -122,7 +137,14 @@ DEVELOPMENT:
sprachumschalter: css/lang-switcher.css
pendant_urls: in jeder Seite hardcoded (funktioniert ohne JS)
cookie_banner: cookie-consent.js liest <html lang> selbststaendig
open: contact-form.py ist noch DE-only (Validierungs- und Mailtexte)
lagen: lagebild.js liest <html lang> via curLang(); Daten-Pfad ueber
window.LAGEBILD_DATA_BASE pro EN-Mirror-Seite
kontaktformular: |
Frontend (js/app.js) sendet lang im POST-Body, zeigt Sende- und
Fehler-Texte in der jeweiligen Sprache. Backend
(/opt/v2-Docker/aegis-website/contact-form.py, NICHT im Repo)
liest lang und antwortet entsprechend; E-Mail an info@aegis-sight.de
bleibt deutsch, mit Hinweis "[EN]" im Betreff bei EN-Anfragen.
large_files: "assets/videos/ (~300MB)"
design: mobile-first responsive
@@ -152,6 +174,9 @@ CHANGE_LOG:
- "i18n: Sprachumschalter DE/EN, neue Seiten unter /en/"
- "Aufraeumen: js/translations.js, impressum-en.html, datenschutz-en.html entfernt"
- "data-translate Attribute aus Lagen-Seiten entfernt"
- "EN-Lagen-Seiten unter /en/situations/{slug}/, teilen DE-Datenfiles"
- "lagebild.js: curLang() liest <html lang>, dataBase()-Helper neu, tote initLangToggle/switchContent entfernt"
- "Kontaktformular zweisprachig (Frontend + Backend)"
Last-Updated: 2026-05-06