Vorher "Zur Casper-Seite" + "Zur Community" (2 Buttons) in der "Wer ist
HasiDog?"-Sektion. Jetzt nur noch EIN Button "Erschaffer", der zur
Streamer-Seite (streamer.html) führt — im "mega" .btn-legendary-Stil
(Babyblau/Silber, Chrome-Textglanz, Sparkles, Halo-Glow), gleiche Optik
wie der neue Casperlino-Button. Alte i18n-Keys hd_btn_casper/
hd_btn_community entfernt (waren nur hier verwendet), neuer Key
hd_btn_erschaffer in allen 5 Sprachen ergänzt.
Neue CSS-Klasse .btn-legendary: eigener, besonders edler Button-Stil in
Babyblau + Silber (Chrome-Textglanz, rotierender Rand, Sparkles,
pulsierender Halo-Glow) — gleiche Machart wie .btn-silver, aber in der
Marken-Akzentfarbe und größer/kräftiger für einen "legendären" Auftritt.
Neuer i18n-Key str_casperlino_btn (Name bleibt in allen 5 Sprachen gleich).
Betraf df_wer_1 (dogfather.html) und str_intro1 (streamer.html): stand
vorher fälschlich "gebürtiger Portugiese, lebt seit Februar 2026 in
Luxemburg" — korrekt ist: in Luxemburg geboren und aufgewachsen, mit
portugiesischen Wurzeln und Temperament. Alle 5 Sprachen korrigiert
(de, de-CH, en, fr, pt), inkl. der statischen HTML-Fallback-Texte.
Recherche (developer.chrome.com, Lighthouse-Doku, Stand 2026): Chrome/Edge
zeigen "App installieren" bei gültigem Web App Manifest (name, icons inkl.
512x512, start_url, display:standalone) UND einem registrierten Service
Worker mit fetch()-Handler — reines Manifest reicht für den zuverlässigen
Install-Prompt nicht mehr aus.
- Neues manifest.json (Name, Theme-/Hintergrundfarbe passend zum dunklen
Design, Icons 192x192 + 512x512 aus dem bestehenden Husky-Favicon erzeugt)
- Neuer sw.js: minimaler Service Worker, primär für die Installierbarkeit,
cached nebenbei die wichtigsten Shell-Dateien (Network-first mit
Cache-Fallback, kein Offline-Vollausbau)
- main.js: registriert den Service Worker nur bei http(s) (nie bei
file://, damit die Seite laut Projektregel weiterhin per Doppelklick
ohne Server funktioniert — stiller Fallback statt Konsolenfehler)
- Alle 28 HTML-Seiten: <link rel="manifest"> + <meta name="theme-color">
im <head> ergänzt (identischer Ankerpunkt nach dem Favicon-Link geprüft
und automatisiert eingefügt)
Installation für Dogi: Seite in Chrome/Edge öffnen → Symbol rechts in der
Adressleiste ("App installieren") oder Menü ⋮ → "DogFather Universe
installieren" → landet als eigenes Fenster + Icon auf Desktop/Startmenü.
- manager.html: Button war dort redundant (Seite selbst ist die Manager-
Seite) — komplett entfernt, unbenutzten i18n-Key mgr_scoutmanager_btn
in i18n-manager.js mit aufgeräumt.
- streamer.html: Button bleibt, aber auf Wunsch NUR dort größer (Padding/
Schriftgröße per Inline-Style, da .btn-spicy-mini eine geteilte Klasse
ist und andere zukünftige Verwendungen nicht beeinflusst werden sollen).
Gleiche Stelle, gleiche Optik (.btn-spicy-mini, Link zu team-scouts.html)
wie auf manager.html. Neuer i18n-Key str_scoutmanager_btn in allen 5
Sprachen ergänzt (eigenes Wörterbuch, da streamer.html i18n-streamer.js
statt i18n-manager.js nutzt).
- profil.html: h1-Platzhalter "Profil" flackerte vor JS-Ladevorgang ungeuebersetzt
auf (Portugiesisch waere "Perfil" gewesen) -> neuer Key pr_loading in
i18n-profil.js mit allen 5 Sprachen, data-i18n-Attribut ergänzt.
- Manager-Seite: bereits vorbereiteten, vollständig übersetzten "Scout-Manager"-
Button (Link zu team-scouts.html) und die dazugehörige Marina-Kartenänderung
in data-modis.js commitet -- lagen unverändert und konsistent im Arbeitsverzeichnis,
aber nie eingecheckt.
- _check.jpg entfernt: unreferenzierter Screenshot-Rest aus einer alten
Verifikations-Session, wurde bisher unnötig mitdeployed (Regel: keine
Debug-/Test-Dateien im Website-Root).
- team-modis.html: Kartenraster generiert jetzt optional einen zweiten
Button pro Person (m.extraCta in data-modis.js), aktuell nur bei Marina
gesetzt (führt zu manager.html). Card-Markup dafür von <a> auf <div> mit
innerem display:contents-Link umgestellt, damit kein Link im Link
verschachtelt wird (ungültiges HTML). Alle anderen Karten unverändert.
- Neue CSS-Klasse .btn-spicy-mini: kompakter Polarlicht-Button in den
Spicy-Media-Markenfarben (Rot/Orange), gleicher Mechanismus wie
.btn-tiktok/.btn-silver.
- assets/img/avatar-marina.jpg (das KLEINE Foto, z.B. Pyramide-Karte)
durch neues Foto ersetzt und quadratisch zugeschnitten. Das große Foto
(card-marina.jpg) bleibt unverändert, wie gewünscht.
Ersetzt den bisher sehr kurzen bio-Text auf ihrer Profilseite durch die
vollständige Selbstvorstellung (Name, Rolle im Team, Hobbys, Stärken,
persönliche Note, Foto-Hinweis, Signatur), gleiches Muster wie bei
Bananenstift (bioHtml, breiter Lesebereich auf profil.html). Alle 5
Sprachen (de, de-CH als echter Dialekt, en, fr, pt) vollständig übersetzt.
Auf Wunsch (02.08.2026): derselbe Block (Logo rechts, Text links, rote
Rahmenoptik) wie auf manager.html jetzt auch auf streamer.html — zwischen
der Signatur "– euer DogFather" und der "Mehr entdecken"-Sektion, in
gleicher Größe/Optik. Eigene i18n-Keys (str_spicy_h2/p1/p2) ergänzt, da
streamer.html ein eigenes Wörterbuch (i18n-streamer.js) nutzt.
"Das Team dahinter" ersetzt durch "Willst du dazugehören?" mit neuem Lead-
Satz "Als Creator, Scout oder Manager — bewirb dich direkt." darunter,
passt besser zur Bewerbungs-Ausrichtung der Kiste (Scouts/Creator/Bewerbung).
Neuer i18n-Key mgr_team_lead in allen 5 Sprachen ergänzt.
Vorher waren Bewerbungs-Touchpoints auf der Seite verstreut: Scouts/Creator-
Kartenraster (2 Kisten) UND direkt darunter eine separate "Willst du
dazugehören?"-CTA-Sektion mit eigenem Button — wirkte redundant/zu viel.
Jetzt eine einzige, klare 3er-Kiste (grid-3): Scouts, Creator, Bewerbung.
Die separate CTA-Sektion entfällt dadurch komplett. Alte i18n-Keys
(mgr_cta_h2/mgr_cta_lead/mgr_cta_btn) entfernt, neue (mgr_bewerbung_h3/
mgr_bewerbung_p) in allen 5 Sprachen ergänzt.
- Foto in der "Wer ich bin"-Sektion vergrößert (Grid-Spalten von 1:1 auf
1.25:1 zugunsten des Fotos).
- Fließtext/Lead/Zitate/Überschriften auf der ganzen Seite spürbar
größer (eigener <style>-Block, nur für diese Seite).
- Neuer .btn-silver-Button-Stil (gleicher Polarlicht-Mechanismus wie
.btn-tiktok, nur in Silber) direkt unter dem TikTok-Button, Text
"Coming soon…" für VanVans zweiten, noch nicht gestarteten Kanal.
Auf Wunsch: Michi gehört nicht mehr dazu. Entfernt:
- Kompletter Personeneintrag aus data-modis.js (team-modis.html +
profil.html?p=michi zeigen sie dadurch automatisch nicht mehr an).
- Erwähnung in der Team-Hierarchie-Doku, im "von VanVan bis Michi"-
Lead-Text (jetzt "...bis Marina", alle 5 Sprachen) und in Meta-
Beschreibungen/OG-Tags/Twitter-Tags auf team-modis.html.
- Ungenutzte Bilddateien avatar-michi.jpg + card-michi.jpg gelöscht.
Gleicher gläserner Dropdown-Stil wie beim Sprachschalter, aber im
Farbton der jeweiligen Kategorie statt neutral: dunkle Karte mit
farbigem Schein (--brand-1/--brand-2, jetzt am .nav-group statt am
Button gesetzt, damit Button-Aurora UND Dropdown denselben Farbklang
teilen), Einträge mit farbigem linkem Rand + leichtem Rutsch-Effekt bei
Hover statt der vorherigen einfachen grauen Hervorhebung.
Beim letzten Umbau vergessen — jetzt mit Babyblau/Gold ergänzt, damit
wirklich jede Kategorie in der Leiste ihren eigenen dezenten Farbschein
hat, nicht nur DogFather/HasiDog/Manager/Medien/Start.
- .nav-bar: justify-content von space-between auf flex-start + eigenen
Gap gewechselt — Menü rückt näher ans Logo, übriger Platz bleibt rechts
statt als große Lücke zwischen Logo und "Start" zu klaffen.
- .nav-links Abstand nochmal erhöht (2.1rem -> 2.4rem), da "Start"/
"Manager" laut Rückmeldung immer noch zu eng wirkten.
- Jede Nav-Kategorie (DogFather/HasiDog/Manager/Medien/Start) bekommt
jetzt einen dezenten, augenschonenden Polarlicht-Schimmer in den
ECHTEN Farben ihrer jeweiligen Welt (aus theme-dogfather/-hasidog/
-spicymedia.css) — ruhig im Normalzustand, etwas kräftiger bei Hover/
offenem Dropdown. "Links" bleibt bewusst neutral (keine eigene Welt).
Auf vanvan.html und dogfather.html ersetzt ein neuer .btn-tiktok-Button
(gleicher Polarlicht-/Schimmer-Mechanismus wie der "Bewerben"-Button im
Header, aber mit TikTok-Markenfarben Cyan #25F4EE + Pink/Rot #FE2C55
statt der allgemeinen Regenbogen-Aurora) den bisherigen reinen Text-
Handle-Mention. Bewusst NUR für echte TikTok-Links verwendet — keine
anderen Buttons/Links bekommen diese Farben.
Gefunden bei systematischem Re-Check aller Seiten: der Platzhaltertext
für fehlgeschlagene Bilder auf index.html (Foto-Collage) und profil.html
war hart kodiert Deutsch. Jetzt über window.dogiUebersetzen() gelöst.
Bisher waren role/bio/bioHtml/intro/quote in data-scouts.js und
data-modis.js reine deutsche Strings — dadurch blieben z.B. Zitate
("Ein Mann, ein Wort.") und Kurzrollen auch bei gewählter Fremdsprache
Deutsch (siehe Screenshot-Hinweis: team-scouts.html in EN zeigte noch
deutsches Zitat).
- main.js: neuer window.dogiFeld()-Helper löst mehrsprachige Feld-Objekte
{ de, "de-CH", en, fr, pt } auf (rückwärtskompatibel zu reinen Strings).
- data-scouts.js: role (Patrick, Bananenstift) + bio (Patrick) + intro/
bioHtml/quote (Bananenstift) vollständig in allen 5 Sprachen.
- data-modis.js: role (alle 7) + bio (VanVan/Funny/Marina/Michi) +
bioHtml (Diene/Miss/Ghost) + rankLabel (Ghost) vollständig in allen
5 Sprachen. Lange bioHtml-Texte von unabhängigen Übersetzer-Agenten
erstellt, idiomatisch statt wörtlich.
- team-scouts.html, team-modis.html, index.html (Team-Vorschau),
profil.html: Rendering nutzt jetzt durchgängig dogiFeld() und rendert
bei Sprachwechsel (dogi-sprache-geaendert) neu — team-modis.html und
die Team-Vorschau auf index.html haben vorher GAR NICHT auf Sprach-
wechsel reagiert, das ist jetzt behoben. "Stufe"/"Profil ansehen" auf
team-modis.html liefen bisher hart kodiert Deutsch, jetzt über
i18n-team-modis.js.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für zeitreise.html und 404.html — damit sind jetzt alle
Seiten der Website vollständig mehrsprachig.
Die drei bisher hart kodierten deutschen Statustexte in forms.js
(Validierungsfehler, Erfolgsmeldung, Mailto-Fallback inkl. Button)
laufen jetzt über window.dogiUebersetzen() und wurden in allen 4
Bewerbungsformular-Wörterbüchern (creator/scout/modi/kooperation) für
alle 5 Sprachen ergänzt.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für 5 weitere der ~22 noch fehlenden Seiten. Dynamisch aus
data-modis.js/data-scouts.js gerenderte Personendaten bleiben bewusst
Deutsch, JS-Template-Strings (team-scouts.html) über
window.dogiUebersetzen() gelöst.
Vollständige Prüfung aller bereits übersetzten Seiten auf fehlende
data-i18n-Attribute (h1-h4, eyebrow, lead, Buttons): "Manager DogFather"
-Kartentitel auf index.html sowie die drei "Mehr entdecken"-Buttons auf
streamer.html hatten noch kein data-i18n und blieben bei Sprachwechsel
Deutsch. Jetzt ergänzt und in allen 5 Sprachen übersetzt.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für 5 weitere der ~22 noch fehlenden Seiten. profil.html
übersetzt nur die statischen Rahmentexte (Personendaten aus
data-modis.js/data-scouts.js/data-creator.js bleiben bewusst Deutsch).
Bananenstifts Einstiegstext (Name/Alter/Familie + TikTok-Haltung) steht
jetzt direkt neben seinem großen Profilfoto, wie gewünscht. Neues
optionales person.intro-Feld in profil.html ergänzt (wirkt nur, wenn
gesetzt — Diene/Miss unverändert). Die identischen Absätze wurden aus
bioHtml entfernt, um Dopplung auf der Seite zu vermeiden.
Mehrere <h3>-Überschriften in Karten-Grids (Persönlichkeit, Werte,
Berufung, Nebenprojekte, Herzensprojekte auf dogfather.html; Familie,
Was HasiDog ausmacht, Inhalte, HasiDog-Welt auf hasidog.html) hatten nur
auf dem <p>-Text ein data-i18n-Attribut, nicht auf der Überschrift
selbst — dadurch blieb bei Sprachwechsel die Überschrift Deutsch,
während der Absatztext übersetzt wurde (gemischtsprachige Anzeige).
Jetzt alle 22 (dogfather) + 20 (hasidog) betroffenen Überschriften mit
eigenem data-i18n-Key versehen und in allen 5 Sprachen ergänzt.
Kleines Karten-/Avatar-Foto (Scout-Übersicht) durch neues Portraitfoto
ersetzt. Das große Bild neben dem Vorstellungstext auf profil.html
(photo-Feld) zeigt weiterhin das bisherige Foto (jetzt als
card-bananenstift.jpg ausgelagert), wie vom Nutzer gewünscht.
Eigener Text von Bananenstift (Scout, Linke Hand von DogFather) für sein
Profil auf profil.html?p=bananenstift, analog zum bioHtml-Format von
Diene und Miss.
Bisher hatten alle bereits übersetzten Unterseiten nur de/de-CH, en/fr/pt
fielen auf Deutsch zurück - das war der eigentliche Bug im Nutzer-
Feedback ("Sprache auf PT, Text bleibt Deutsch"). dogfather.html hat
jetzt alle 46 Textabschnitte in allen 5 Sprachen vollständig.
Sechste Unterseite mit eigenem i18n-Wörterbuch (69 Textabschnitte):
Hero, Was ist HasiDog, Eine eigene Welt, Die Welt von HasiDog (6 Karten),
Die HasiDog-Familie (4 Karten), Was HasiDog ausmacht (6 Karten), Die
HasiDog-Inhalte (8 Karten), Die HasiDog-Welt (5 Karten),
Willkommen-Abschluss, Schlaft-schön-Sektion.
Vierte Unterseite mit eigenem i18n-Wörterbuch (69 Textabschnitte):
Hero, Wer ich bin, Zufall oder Schicksal, Meine Stärken/Schwächen, Was
Dogi/Team Dogi für mich bedeutet, Fazit mit Signatur, Mehr entdecken.
Zwei weitere Unterseiten mit eigenem i18n-Wörterbuch (echter Dialekt,
nicht nur Hochdeutsch mit ss statt ß):
- casper.html: alle 20 Textabschnitte (Hero, Wer ist Casper, Caspers
eigene lange Vorstellung, Galerie).
- dogfather.html: alle 46 Textabschnitte (Hero, Wer ist Filipe, Der
Mensch hinter DogFather, Persönlichkeit/Werte/Berufung/Nebenprojekte/
Herzensprojekte-Karten).
Teil der laufenden Arbeit, jede Seite vollständig mehrsprachig zu
machen (Nutzerwunsch: "jedes einzelne Wort auf jeder Seite").
Erste Unterseite (neben der Startseite) mit eigenem i18n-Wörterbuch:
alle 63 Textabschnitte (Hero, Persönlichkeit, Streamer, Casper, Team
Dogi, Manager, Was macht DogFather aus, Schluss-Statement) jetzt auch in
echtem Zürich-nahem Dialekt, nicht nur Navigation/Startseite. Adressiert
Nutzer-Feedback "nicht nur halb, sondern die richtige Sprache" - wenn
Schweiz ausgewählt ist, bleibt die Seite jetzt durchgehend im Dialekt,
auch nach dem Wechsel von der Startseite hierher.
Statt nur einem Farbton (glut) je Sprache gibt es jetzt 2-3 echte
Landesfarben (farbstopps) pro Sprache: DE schwarz-rot-gold, CH rot-weiß,
EN blau-weiß-rot, FR blau-weiß-rot, PT grün-gold-rot. Der Knopf-
Hintergrund ist jetzt eine wandernde Aurora-Wolke aus genau diesen
Farben (analog zum Bewerben-Knopf), die Kugel ein rotierender
conic-gradient aus denselben Farben mit Glanzlicht obendrauf - wirkt
wie eine kleine, echt gemischt eingefärbte Kugel statt einer flachen
Einzelfarbe.
Statt eines schlichten Nav-Menüpunkts jetzt ein eigenes "Schmuckstück":
- Gläserne Pille mit Polarlicht-Schein + durchlaufendem Lichtschimmer
(analog zum Bewerben-Knopf), Rahmen/Glow in der jeweiligen Sprachfarbe.
- Kugel ist jetzt eine glänzende "Mini-Planet"-Kugel (radialer Verlauf +
Glanzlicht, komplett aus --sprach-glut in CSS gebaut statt aus einem
JS-Gradient) mit sanfter Eigendrehung.
- Dropdown im selben Glow-Look, schwebt beim Öffnen sanft ein, jeder
Eintrag bekommt einen farbigen linken Rand + Hover-Verschiebung.
Alles respektiert weiterhin prefers-reduced-motion.
Auf ausdrücklichen Wunsch des Nutzers ("nicht Deutsch Schweiz, sondern
richtig Schweiz") — vorher war das nur Hochdeutsch mit ss statt ß, jetzt
echter (geschriebener) Dialekt in gängiger, Zürich-naher Schreibweise
(Dialekt hat keine einheitliche Schriftform). Betrifft I18N_CORE in
main.js (Navigation, Fußzeile, Musik-Widget) und das komplette
Startseiten-Wörterbuch in i18n-index.js. Label im Sprachschalter von
"Deutsch (Schweiz)" zu "Schwiizerdütsch" geändert. Markennamen und
rechtliche Begriffe (Impressum & Datenschutz) bleiben unverändert.