Mehrsprachigkeit: Sprachumschalter in der Navigation (DE/CH/EN/FR/PT)

Neues i18n-System, komplett clientseitig (kein Build-Tool):
- main.js: I18N_CORE übersetzt Navigation, Fußzeile und Musik-Widget auf
  JEDER Seite (Markennamen wie DogFather/HasiDog/Casper/Team Dogi bleiben
  bewusst in jeder Sprache gleich). Sprachumschalter (Flagge + Kürzel) neu
  im Nav-Bar, per Klick wählbar, Wahl landet in localStorage und bleibt
  beim Klicken durch die Seite erhalten.
- Jeder komplett neue Besuch (kein gespeicherter Wert) startet IMMER auf
  Deutsch - keine automatische Browsersprache-Erkennung, wie gewünscht.
- assets/js/i18n-index.js: vollständiges Wörterbuch für die Startseite
  (Hero, Charaktere, Foto-Collage, Stats, "Was dich erwartet",
  Team-Vorschau, Aktionen, Galerie, Testimonial, finaler CTA) inkl. der
  dynamischen Live-Status-Texte.
- Schweizer Hochdeutsch (de-CH) korrekt mit ss statt ß angelegt (z.B.
  "Musik-Feld schliessen").
- Weitere Unterseiten (streamer.html, vanvan.html, ...) bekommen ihr
  eigenes Wörterbuch schrittweise in künftigen Runden - Navigation/
  Fußzeile/Musik-Widget sind aber schon jetzt überall mehrsprachig.
This commit is contained in:
2026-08-02 00:30:20 +02:00
parent ccba34a706
commit a758b9a6b4
4 changed files with 619 additions and 117 deletions
+7
View File
@@ -191,6 +191,13 @@ header.site-header {
}
.nav-dropdown a:hover, .nav-dropdown a.active { background: var(--bg-alt); color: var(--accent); }
/* Sprachumschalter — schmalerer Dropdown reicht (nur Flagge + 2-stelliges
Kürzel pro Zeile), rechtsbündig statt zentriert, damit er nicht über
den Seitenrand hinausragt. */
.sprach-schalter > button { font-size: 1.02rem; }
.sprach-schalter .nav-dropdown { min-width: 130px; left: auto; right: 0; transform: none; }
.sprach-schalter .nav-dropdown a { display: flex; align-items: center; gap: .5rem; }
/* "Bewerben" ist der Treffpunkt beider Welten (Team Dogi + Spicy Media) —
deshalb bewusst FEST babyblau + rot, unabhängig vom Theme der gerade
offenen Seite. Statt einer einfachen 50/50-Teilung ein echtes