feat: i18n annotations — data-de/data-en + toggle for all 54 custom sites

Phase 2 of i18n rollout:
- All 54 static custom sites now have data-de/data-en attributes on
  visible text elements with English translations
- i18n.js script tag injected into all sites
- Language toggle button with machine-translation disclaimer added
  to every site's footer area
- Brand names / domain wordplay preserved unchanged in both languages
- 2 dynamic sites (dasbes.de, dumusst.com) skipped — no static HTML
This commit is contained in:
m
2026-04-01 13:19:40 +02:00
parent 846fc04444
commit 5c92a7b021
53 changed files with 1850 additions and 1475 deletions

View File

@@ -504,7 +504,7 @@
<nav>
<div class="container">
<div class="logo">von<span class="accent">Schr</span>eitter</div>
<a href="#kontakt">Kontakt</a>
<a href="#kontakt" data-de="Kontakt" data-en="Contact">Kontakt</a>
</div>
</nav>
@@ -513,16 +513,16 @@
<div class="container">
<div class="monogram">FvS</div>
<div class="hero-badge">
<span class="dot"></span>Hogan Lovells
<span class="dot"></span><span data-de="Hogan Lovells" data-en="Hogan Lovells">Hogan Lovells</span>
</div>
<h1>Florian <span class="von">von</span><br>Schr<span class="ai-swap"><span class="letter visible" id="letterA">A</span><span class="letter hidden" id="letterE">E</span></span><span class="surname">I</span>tter</h1>
<p class="hero-subtitle">
<p class="hero-subtitle" data-de="&lt;strong&gt;Kartellrecht&lt;/strong&gt; mit Weitblick. Fusionskontrolle, Kartellverfahren und Compliance-Strategien — fuer Unternehmen, die Maerkte gestalten." data-en="&lt;strong&gt;Competition law&lt;/strong&gt; with vision. Merger control, cartel proceedings and compliance strategies — for companies that shape markets.">
<strong>Kartellrecht</strong> mit Weitblick. Fusionskontrolle, Kartellverfahren
und Compliance-Strategien — fuer Unternehmen, die Maerkte gestalten.
</p>
<div class="cta-group">
<a href="#kontakt" class="btn btn-primary">Kontakt aufnehmen</a>
<a href="#expertise" class="btn btn-ghost">Expertise</a>
<a href="#kontakt" class="btn btn-primary" data-de="Kontakt aufnehmen" data-en="Get in touch">Kontakt aufnehmen</a>
<a href="#expertise" class="btn btn-ghost" data-de="Expertise" data-en="Expertise">Expertise</a>
</div>
</div>
</section>
@@ -532,9 +532,9 @@
<!-- Expertise -->
<section id="expertise">
<div class="container">
<div class="section-label">Schwerpunkte</div>
<h2>Kartellrecht. Durchdacht.</h2>
<div class="section-desc">
<div class="section-label" data-de="Schwerpunkte" data-en="Focus areas">Schwerpunkte</div>
<h2 data-de="Kartellrecht. Durchdacht." data-en="Competition law. Thoroughly considered.">Kartellrecht. Durchdacht.</h2>
<div class="section-desc" data-de="Von der strategischen Beratung bis zur Verteidigung vor den Behoerden — praeziese Arbeit in den Kernbereichen des Wettbewerbsrechts." data-en="From strategic advice to defense before authorities — precise work in the core areas of competition law.">
Von der strategischen Beratung bis zur Verteidigung vor den
Behoerden — praeziese Arbeit in den Kernbereichen des Wettbewerbsrechts.
</div>
@@ -542,8 +542,8 @@
<div class="expertise-grid">
<div class="expertise-card">
<div class="expertise-icon">FK</div>
<h3>Fusionskontrolle</h3>
<p>
<h3 data-de="Fusionskontrolle" data-en="Merger Control">Fusionskontrolle</h3>
<p data-de="Anmeldungen bei BKartA, EU-Kommission und international. Remedy-Strategien, Phase-II-Verfahren, Gun-Jumping-Praevention." data-en="Filings with BKartA, EU Commission and internationally. Remedy strategies, Phase-II proceedings, gun-jumping prevention.">
Anmeldungen bei BKartA, EU-Kommission und international.
Remedy-Strategien, Phase-II-Verfahren, Gun-Jumping-Praevention.
</p>
@@ -551,8 +551,8 @@
<div class="expertise-card">
<div class="expertise-icon">KV</div>
<h3>Kartellverfahren</h3>
<p>
<h3 data-de="Kartellverfahren" data-en="Cartel Proceedings">Kartellverfahren</h3>
<p data-de="Verteidigung in Bussgeldverfahren. Kronzeugenantraege, Settlement-Verhandlungen, Zusammenarbeit mit Behoerden." data-en="Defense in fine proceedings. Leniency applications, settlement negotiations, cooperation with authorities.">
Verteidigung in Bussgeldverfahren. Kronzeugenantraege,
Settlement-Verhandlungen, Zusammenarbeit mit Behoerden.
</p>
@@ -560,8 +560,8 @@
<div class="expertise-card">
<div class="expertise-icon">CP</div>
<h3>Compliance</h3>
<p>
<h3 data-de="Compliance" data-en="Compliance">Compliance</h3>
<p data-de="Aufbau und Audit von Kartell-Compliance-Programmen. Schulungen, interne Untersuchungen, Dawn-Raid-Readiness." data-en="Building and auditing cartel compliance programs. Training, internal investigations, dawn raid readiness.">
Aufbau und Audit von Kartell-Compliance-Programmen.
Schulungen, interne Untersuchungen, Dawn-Raid-Readiness.
</p>
@@ -569,8 +569,8 @@
<div class="expertise-card">
<div class="expertise-icon">VB</div>
<h3>Vertriebskartellrecht</h3>
<p>
<h3 data-de="Vertriebskartellrecht" data-en="Distribution Competition Law">Vertriebskartellrecht</h3>
<p data-de="Selektiver Vertrieb, Online-Marktplaetze, Preisbindung. Gestaltung kartellrechtskonformer Vertriebssysteme." data-en="Selective distribution, online marketplaces, resale price maintenance. Designing competition-compliant distribution systems.">
Selektiver Vertrieb, Online-Marktplaetze, Preisbindung.
Gestaltung kartellrechtskonformer Vertriebssysteme.
</p>
@@ -578,8 +578,8 @@
<div class="expertise-card">
<div class="expertise-icon">PE</div>
<h3>Private Enforcement</h3>
<p>
<h3 data-de="Private Enforcement" data-en="Private Enforcement">Private Enforcement</h3>
<p data-de="Kartellschadensersatzklagen. Anspruchsdurchsetzung und -abwehr nach deutschem und EU-Recht." data-en="Cartel damage claims. Enforcement and defense of claims under German and EU law.">
Kartellschadensersatzklagen. Anspruchsdurchsetzung
und -abwehr nach deutschem und EU-Recht.
</p>
@@ -587,8 +587,8 @@
<div class="expertise-card">
<div class="expertise-icon">DM</div>
<h3>Digitale Maerkte</h3>
<p>
<h3 data-de="Digitale Maerkte" data-en="Digital Markets">Digitale Maerkte</h3>
<p data-de="DMA, GWB-Digitalisierung, Plattformregulierung. Wettbewerbsfragen an der Schnittstelle von Tech und Recht." data-en="DMA, GWB digitalization, platform regulation. Competition issues at the intersection of tech and law.">
DMA, GWB-Digitalisierung, Plattformregulierung.
Wettbewerbsfragen an der Schnittstelle von Tech und Recht.
</p>
@@ -602,19 +602,19 @@
<!-- Profile -->
<section id="profil">
<div class="container">
<div class="section-label">Profil</div>
<h2>Strategie trifft Praezision.</h2>
<div class="section-label" data-de="Profil" data-en="Profile">Profil</div>
<h2 data-de="Strategie trifft Praezision." data-en="Strategy meets precision.">Strategie trifft Praezision.</h2>
<div class="profile-section">
<div class="profile-text">
<p>
<p data-de="Florian von Schreitter beraet nationale und internationale Unternehmen in allen Fragen des deutschen und europaeischen Kartellrechts. Sein Schwerpunkt liegt auf komplexen Fusionskontrollverfahren und der Verteidigung in Kartellbussgeldverfahren." data-en="Florian von Schreitter advises national and international companies on all aspects of German and European competition law. His focus is on complex merger control proceedings and defense in cartel fine proceedings.">
Florian von Schreitter beraet nationale und internationale
Unternehmen in allen Fragen des deutschen und europaeischen
Kartellrechts. Sein Schwerpunkt liegt auf komplexen
Fusionskontrollverfahren und der Verteidigung in
Kartellbussgeldverfahren.
</p>
<p>
<p data-de="Als Rechtsanwalt bei Hogan Lovells verbindet er tiefes regulatorisches Verstaendnis mit strategischem Denken — fuer Loesungen, die wirtschaftlich tragfaehig und rechtlich belastbar sind." data-en="As an attorney at Hogan Lovells, he combines deep regulatory understanding with strategic thinking — for solutions that are economically viable and legally sound.">
Als Rechtsanwalt bei Hogan Lovells verbindet er tiefes
regulatorisches Verstaendnis mit strategischem Denken —
fuer Loesungen, die wirtschaftlich tragfaehig und
@@ -623,24 +623,24 @@
</div>
<div class="profile-details">
<div class="detail-card">
<div class="detail-label">Kanzlei</div>
<div class="detail-label" data-de="Kanzlei" data-en="Law firm">Kanzlei</div>
<div class="detail-value">Hogan Lovells International LLP</div>
</div>
<div class="detail-card">
<div class="detail-label">Praxisgruppe</div>
<div class="detail-value">Competition, Regulation & Trade</div>
<div class="detail-label" data-de="Praxisgruppe" data-en="Practice group">Praxisgruppe</div>
<div class="detail-value">Competition, Regulation &amp; Trade</div>
</div>
<div class="detail-card">
<div class="detail-label">Standort</div>
<div class="detail-value">Duesseldorf, Deutschland</div>
<div class="detail-label" data-de="Standort" data-en="Location">Standort</div>
<div class="detail-value" data-de="Duesseldorf, Deutschland" data-en="Dusseldorf, Germany">Duesseldorf, Deutschland</div>
</div>
<div class="detail-card">
<div class="detail-label">Zulassung</div>
<div class="detail-value">Rechtsanwalt (Deutschland)</div>
<div class="detail-label" data-de="Zulassung" data-en="Bar admission">Zulassung</div>
<div class="detail-value" data-de="Rechtsanwalt (Deutschland)" data-en="Attorney-at-law (Germany)">Rechtsanwalt (Deutschland)</div>
</div>
<div class="detail-card">
<div class="detail-label">Sprachen</div>
<div class="detail-value">Deutsch, Englisch</div>
<div class="detail-label" data-de="Sprachen" data-en="Languages">Sprachen</div>
<div class="detail-value" data-de="Deutsch, Englisch" data-en="German, English">Deutsch, Englisch</div>
</div>
</div>
</div>
@@ -652,14 +652,14 @@
<!-- Contact CTA -->
<section id="kontakt" class="cta-section">
<div class="container">
<div class="section-label">Kontakt</div>
<h2>Sprechen wir darueber.</h2>
<div class="section-desc">
<div class="section-label" data-de="Kontakt" data-en="Contact">Kontakt</div>
<h2 data-de="Sprechen wir darueber." data-en="Let's talk about it.">Sprechen wir darueber.</h2>
<div class="section-desc" data-de="Kartellrechtliche Fragen verdienen fruehzeitige, strategische Beratung. Nehmen Sie Kontakt auf." data-en="Competition law questions deserve early, strategic advice. Get in touch.">
Kartellrechtliche Fragen verdienen fruehzeitige, strategische Beratung.
Nehmen Sie Kontakt auf.
</div>
<div class="cta-group">
<a href="mailto:florian.vonschreitter@hoganlovells.com" class="btn btn-primary">E-Mail schreiben</a>
<a href="mailto:florian.vonschreitter@hoganlovells.com" class="btn btn-primary" data-de="E-Mail schreiben" data-en="Send email">E-Mail schreiben</a>
</div>
</div>
</section>
@@ -668,6 +668,10 @@
<footer>
<div class="container">
<p>vonschr<span style="color: var(--accent);">AI</span>tter.de — Florian von Schreitter</p>
<div style="text-align:center;margin-top:16px;">
<button data-i18n-toggle title="Maschinell übersetzt / Machine-translated — German is the original." style="background:none;border:1px solid var(--text-muted,#444);color:var(--text-muted,#444);font-size:0.65rem;letter-spacing:0.1em;padding:4px 12px;border-radius:4px;cursor:pointer;">EN</button>
<br><small data-de="Maschinell übersetzt" data-en="Machine-translated" style="color:var(--text-muted,#444);font-size:0.6rem;opacity:0.5;">Maschinell übersetzt</small>
</div>
</div>
</footer>
@@ -682,5 +686,6 @@
}, 3000);
</script>
<script src="/shared/i18n.js"></script>
</body>
</html>