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

@@ -491,22 +491,22 @@
<nav>
<div class="container">
<div class="logo">k<span class="ai">AI</span>neFrage</div>
<a href="#kontakt">Kontakt</a>
<a href="#kontakt" data-de="Kontakt" data-en="Contact">Kontakt</a>
</div>
</nav>
<section class="hero">
<div class="container">
<div class="hero-badge">AI_CONSULTING // KEINE FRAGE</div>
<div class="hero-badge" data-de="AI_CONSULTING // KEINE FRAGE" data-en="AI_CONSULTING // NO QUESTION">AI_CONSULTING // KEINE FRAGE</div>
<h1>k<span class="ai">AI</span>neFrage</h1>
<div class="hero-sub"><strong>Keine Frage</strong>, ob KI relevant ist. Die Frage ist: <strong>wie</strong>.</div>
<p>
<div class="hero-sub" data-de="&lt;strong&gt;Keine Frage&lt;/strong&gt;, ob KI relevant ist. Die Frage ist: &lt;strong&gt;wie&lt;/strong&gt;." data-en="&lt;strong&gt;No question&lt;/strong&gt; whether AI is relevant. The question is: &lt;strong&gt;how&lt;/strong&gt;."><strong>Keine Frage</strong>, ob KI relevant ist. Die Frage ist: <strong>wie</strong>.</div>
<p data-de="Wir beantworten die KI-Fragen, die andere nicht stellen. Strategie, Implementierung und Klartext — ohne Buzzword-Bingo." data-en="We answer the AI questions others don't ask. Strategy, implementation and plain talk — without buzzword bingo.">
Wir beantworten die KI-Fragen, die andere nicht stellen.
Strategie, Implementierung und Klartext — ohne Buzzword-Bingo.
</p>
<div class="cta-group">
<a href="#kontakt" class="btn btn-primary">Fragen stellen</a>
<a href="#antworten" class="btn btn-ghost">Antworten sehen</a>
<a href="#kontakt" class="btn btn-primary" data-de="Fragen stellen" data-en="Ask questions">Fragen stellen</a>
<a href="#antworten" class="btn btn-ghost" data-de="Antworten sehen" data-en="See answers">Antworten sehen</a>
</div>
</div>
</section>
@@ -515,7 +515,7 @@
<div class="statement">
<div class="container">
<p class="statement-text">
<p class="statement-text" data-de="Die meisten Unternehmen haben &lt;strong&gt;keine KI-Strategie&lt;/strong&gt;.&lt;br&gt; Sie haben eine &lt;strong&gt;PowerPoint&lt;/strong&gt; mit dem Wort &lt;span class=&quot;ai&quot;&gt;KI&lt;/span&gt; drin.&lt;br&gt; Das ist nicht dasselbe." data-en="Most companies don't have &lt;strong&gt;an AI strategy&lt;/strong&gt;.&lt;br&gt; They have a &lt;strong&gt;PowerPoint&lt;/strong&gt; with the word &lt;span class=&quot;ai&quot;&gt;AI&lt;/span&gt; in it.&lt;br&gt; That's not the same thing.">
Die meisten Unternehmen haben <strong>keine KI-Strategie</strong>.<br>
Sie haben eine <strong>PowerPoint</strong> mit dem Wort <span class="ai">KI</span> drin.<br>
Das ist nicht dasselbe.
@@ -527,42 +527,42 @@
<section id="antworten">
<div class="container">
<div class="section-label">// Antworten</div>
<h2>Die Fragen, die wirklich zählen.</h2>
<div class="section-desc">
<div class="section-label" data-de="// Antworten" data-en="// Answers">// Antworten</div>
<h2 data-de="Die Fragen, die wirklich zählen." data-en="The questions that really matter.">Die Fragen, die wirklich zählen.</h2>
<div class="section-desc" data-de="Jedes Unternehmen stellt sich dieselben Fragen zur KI. Die Antworten sind bei jedem anders — und genau da setzen wir an." data-en="Every company asks the same questions about AI. The answers differ for each — and that's exactly where we start.">
Jedes Unternehmen stellt sich dieselben Fragen zur KI.
Die Antworten sind bei jedem anders — und genau da setzen wir an.
</div>
<div class="qa-grid">
<div class="qa-card">
<div class="qa-q">Wo fangen wir an?</div>
<div class="qa-a">Nicht bei der Technologie, sondern beim Problem. Wir identifizieren die Use Cases, die sofort Wert schaffen — nicht die, die am coolsten klingen.</div>
<div class="qa-q" data-de="Wo fangen wir an?" data-en="Where do we start?">Wo fangen wir an?</div>
<div class="qa-a" data-de="Nicht bei der Technologie, sondern beim Problem. Wir identifizieren die Use Cases, die sofort Wert schaffen — nicht die, die am coolsten klingen." data-en="Not with the technology, but with the problem. We identify the use cases that create immediate value — not the ones that sound coolest.">Nicht bei der Technologie, sondern beim Problem. Wir identifizieren die Use Cases, die sofort Wert schaffen — nicht die, die am coolsten klingen.</div>
</div>
<div class="qa-card">
<div class="qa-q">Ist KI wirklich reif genug?</div>
<div class="qa-a">Für 80% Ihrer Prozesse: ja. Wir zeigen, welche das sind, und wo Sie besser noch warten. Ehrliche Einschätzung statt Sales-Pitch.</div>
<div class="qa-q" data-de="Ist KI wirklich reif genug?" data-en="Is AI really mature enough?">Ist KI wirklich reif genug?</div>
<div class="qa-a" data-de="Für 80% Ihrer Prozesse: ja. Wir zeigen, welche das sind, und wo Sie besser noch warten. Ehrliche Einschätzung statt Sales-Pitch." data-en="For 80% of your processes: yes. We show which ones those are, and where you're better off waiting. Honest assessment instead of sales pitch.">Für 80% Ihrer Prozesse: ja. Wir zeigen, welche das sind, und wo Sie besser noch warten. Ehrliche Einschätzung statt Sales-Pitch.</div>
</div>
<div class="qa-card">
<div class="qa-q">Was kostet der Einstieg?</div>
<div class="qa-a">Weniger als Sie denken. Der erste Prototyp steht in Tagen, nicht Monaten. ROI messen wir ab Woche eins — nicht nach dem dritten Quartal.</div>
<div class="qa-q" data-de="Was kostet der Einstieg?" data-en="What does getting started cost?">Was kostet der Einstieg?</div>
<div class="qa-a" data-de="Weniger als Sie denken. Der erste Prototyp steht in Tagen, nicht Monaten. ROI messen wir ab Woche eins — nicht nach dem dritten Quartal." data-en="Less than you think. The first prototype is ready in days, not months. We measure ROI from week one — not after the third quarter.">Weniger als Sie denken. Der erste Prototyp steht in Tagen, nicht Monaten. ROI messen wir ab Woche eins — nicht nach dem dritten Quartal.</div>
</div>
<div class="qa-card">
<div class="qa-q">Brauchen wir eigene Entwickler?</div>
<div class="qa-a">Nicht am Anfang. Wir bringen Umsetzungskompetenz mit und bauen parallel Ihr internes Know-How auf. Kein Vendor Lock-in, kein Abhängigkeitsverhältnis.</div>
<div class="qa-q" data-de="Brauchen wir eigene Entwickler?" data-en="Do we need our own developers?">Brauchen wir eigene Entwickler?</div>
<div class="qa-a" data-de="Nicht am Anfang. Wir bringen Umsetzungskompetenz mit und bauen parallel Ihr internes Know-How auf. Kein Vendor Lock-in, kein Abhängigkeitsverhältnis." data-en="Not at the start. We bring implementation expertise and build your internal know-how in parallel. No vendor lock-in, no dependency relationship.">Nicht am Anfang. Wir bringen Umsetzungskompetenz mit und bauen parallel Ihr internes Know-How auf. Kein Vendor Lock-in, kein Abhängigkeitsverhältnis.</div>
</div>
<div class="qa-card">
<div class="qa-q">Was ist mit Datenschutz?</div>
<div class="qa-a">DSGVO ist kein Showstopper, sondern eine Designentscheidung. Wir kennen die Lösungen: on-premise Modelle, europäische Anbieter, datenschutzkonforme Architekturen.</div>
<div class="qa-q" data-de="Was ist mit Datenschutz?" data-en="What about data protection?">Was ist mit Datenschutz?</div>
<div class="qa-a" data-de="DSGVO ist kein Showstopper, sondern eine Designentscheidung. Wir kennen die Lösungen: on-premise Modelle, europäische Anbieter, datenschutzkonforme Architekturen." data-en="GDPR is not a showstopper, but a design decision. We know the solutions: on-premise models, European providers, privacy-compliant architectures.">DSGVO ist kein Showstopper, sondern eine Designentscheidung. Wir kennen die Lösungen: on-premise Modelle, europäische Anbieter, datenschutzkonforme Architekturen.</div>
</div>
<div class="qa-card">
<div class="qa-q">Und wenn es nicht funktioniert?</div>
<div class="qa-a">Dann wissen Sie es nach zwei Wochen, nicht nach sechs Monaten. Wir arbeiten iterativ: testen, messen, entscheiden. Kein Projekt ohne Exit-Kriterien.</div>
<div class="qa-q" data-de="Und wenn es nicht funktioniert?" data-en="And if it doesn't work?">Und wenn es nicht funktioniert?</div>
<div class="qa-a" data-de="Dann wissen Sie es nach zwei Wochen, nicht nach sechs Monaten. Wir arbeiten iterativ: testen, messen, entscheiden. Kein Projekt ohne Exit-Kriterien." data-en="Then you'll know after two weeks, not after six months. We work iteratively: test, measure, decide. No project without exit criteria.">Dann wissen Sie es nach zwei Wochen, nicht nach sechs Monaten. Wir arbeiten iterativ: testen, messen, entscheiden. Kein Projekt ohne Exit-Kriterien.</div>
</div>
</div>
</div>
@@ -572,9 +572,9 @@
<section id="leistungen">
<div class="container">
<div class="section-label">// Leistungen</div>
<h2>Klarheit schaffen. Ergebnisse liefern.</h2>
<div class="section-desc">
<div class="section-label" data-de="// Leistungen" data-en="// Services">// Leistungen</div>
<h2 data-de="Klarheit schaffen. Ergebnisse liefern." data-en="Create clarity. Deliver results.">Klarheit schaffen. Ergebnisse liefern.</h2>
<div class="section-desc" data-de="Von der ersten Analyse bis zur laufenden Lösung. Wir machen KI greifbar, messbar und umsetzbar." data-en="From the first analysis to the running solution. We make AI tangible, measurable and actionable.">
Von der ersten Analyse bis zur laufenden Lösung.
Wir machen KI greifbar, messbar und umsetzbar.
</div>
@@ -582,38 +582,38 @@
<div class="services-grid">
<div class="service-card">
<div class="service-icon">01</div>
<h3>KI-Readiness</h3>
<p>Wo steht Ihr Unternehmen? Wir analysieren Daten, Prozesse und Team-Kompetenz — und zeigen den schnellsten Weg.</p>
<h3 data-de="KI-Readiness" data-en="AI Readiness">KI-Readiness</h3>
<p data-de="Wo steht Ihr Unternehmen? Wir analysieren Daten, Prozesse und Team-Kompetenz — und zeigen den schnellsten Weg." data-en="Where does your company stand? We analyze data, processes and team competence — and show the fastest path.">Wo steht Ihr Unternehmen? Wir analysieren Daten, Prozesse und Team-Kompetenz — und zeigen den schnellsten Weg.</p>
</div>
<div class="service-card">
<div class="service-icon">02</div>
<h3>Use-Case Discovery</h3>
<p>Welche Prozesse profitieren am meisten? Workshop-basierte Identifikation der Top-3 KI-Hebel in Ihrem Unternehmen.</p>
<h3 data-de="Use-Case Discovery" data-en="Use-Case Discovery">Use-Case Discovery</h3>
<p data-de="Welche Prozesse profitieren am meisten? Workshop-basierte Identifikation der Top-3 KI-Hebel in Ihrem Unternehmen." data-en="Which processes benefit most? Workshop-based identification of the top 3 AI levers in your company.">Welche Prozesse profitieren am meisten? Workshop-basierte Identifikation der Top-3 KI-Hebel in Ihrem Unternehmen.</p>
</div>
<div class="service-card">
<div class="service-icon">03</div>
<h3>Rapid Prototyping</h3>
<p>Idee zu Prototyp in 5 Tagen. Funktionierende KI-Lösung, testbar mit echten Daten, echten Nutzern.</p>
<h3 data-de="Rapid Prototyping" data-en="Rapid Prototyping">Rapid Prototyping</h3>
<p data-de="Idee zu Prototyp in 5 Tagen. Funktionierende KI-Lösung, testbar mit echten Daten, echten Nutzern." data-en="Idea to prototype in 5 days. Working AI solution, testable with real data, real users.">Idee zu Prototyp in 5 Tagen. Funktionierende KI-Lösung, testbar mit echten Daten, echten Nutzern.</p>
</div>
<div class="service-card">
<div class="service-icon">04</div>
<h3>Integration</h3>
<p>KI in bestehende Systeme einbinden. API-Design, Datenflüsse, Change Management — alles aus einer Hand.</p>
<h3 data-de="Integration" data-en="Integration">Integration</h3>
<p data-de="KI in bestehende Systeme einbinden. API-Design, Datenflüsse, Change Management — alles aus einer Hand." data-en="Integrate AI into existing systems. API design, data flows, change management — all from a single source.">KI in bestehende Systeme einbinden. API-Design, Datenflüsse, Change Management — alles aus einer Hand.</p>
</div>
<div class="service-card">
<div class="service-icon">05</div>
<h3>Team-Enablement</h3>
<p>Ihr Team soll selbst können. Wir schulen, coachen und begleiten — bis KI-Kompetenz im Unternehmen verankert ist.</p>
<h3 data-de="Team-Enablement" data-en="Team Enablement">Team-Enablement</h3>
<p data-de="Ihr Team soll selbst können. Wir schulen, coachen und begleiten — bis KI-Kompetenz im Unternehmen verankert ist." data-en="Your team should be able to do it themselves. We train, coach and guide — until AI competence is anchored in the organization.">Ihr Team soll selbst können. Wir schulen, coachen und begleiten — bis KI-Kompetenz im Unternehmen verankert ist.</p>
</div>
<div class="service-card">
<div class="service-icon">06</div>
<h3>Sparring</h3>
<p>Schon mittendrin? Wir challengen Ihre KI-Strategie, prüfen Anbieter und geben unabhängige zweite Meinung.</p>
<h3 data-de="Sparring" data-en="Sparring">Sparring</h3>
<p data-de="Schon mittendrin? Wir challengen Ihre KI-Strategie, prüfen Anbieter und geben unabhängige zweite Meinung." data-en="Already in the middle of it? We challenge your AI strategy, evaluate vendors and provide an independent second opinion.">Schon mittendrin? Wir challengen Ihre KI-Strategie, prüfen Anbieter und geben unabhängige zweite Meinung.</p>
</div>
</div>
</div>
@@ -636,9 +636,9 @@
<section id="kontakt" class="cta-section">
<div class="container">
<div class="section-label">// Kontakt</div>
<h2>Noch Fragen? <span style="color: var(--accent);">Keine Frage.</span></h2>
<div class="section-desc">
<div class="section-label" data-de="// Kontakt" data-en="// Contact">// Kontakt</div>
<h2 data-de="Noch Fragen? &lt;span style=&quot;color: var(--accent);&quot;&gt;Keine Frage.&lt;/span&gt;" data-en="Still questions? &lt;span style=&quot;color: var(--accent);&quot;&gt;No question.&lt;/span&gt;">Noch Fragen? <span style="color: var(--accent);">Keine Frage.</span></h2>
<div class="section-desc" data-de="Schreiben Sie uns. Wir antworten schneller als Ihr letzter Chatbot — und deutlich hilfreicher." data-en="Write to us. We respond faster than your last chatbot — and considerably more helpful.">
Schreiben Sie uns. Wir antworten schneller als Ihr letzter Chatbot — und deutlich hilfreicher.
</div>
<a href="mailto:kainefrage@msbls.de?subject=kAIneFrage%20—%20Anfrage" class="btn btn-primary">
@@ -649,9 +649,14 @@
<footer>
<div class="container">
<p>k<span style="color: var(--accent);">AI</span>neFrage.de — ein Projekt von <a href="https://msbls.de" target="_blank" rel="noopener">msbls.de</a></p>
<p>k<span style="color: var(--accent);">AI</span>neFrage.de — <span data-de="ein Projekt von" data-en="a project by">ein Projekt von</span> <a href="https://msbls.de" target="_blank" rel="noopener">msbls.de</a></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>
<script src="/shared/i18n.js"></script>
</body>
</html>