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

@@ -566,16 +566,16 @@
<nav>
<div class="container">
<div class="logo">All<span class="ai-highlight">AIs</span>OnMe</div>
<a href="#audit" class="cta-link">Get your audit &rarr;</a>
<a href="#audit" class="cta-link" data-de="Audit anfragen →" data-en="Get your audit →">Get your audit &rarr;</a>
</div>
</nav>
<!-- HERO -->
<section class="hero">
<div class="hero-eyebrow">AI Optimization Agency</div>
<div class="hero-eyebrow" data-de="KI-Optimierungsagentur" data-en="AI Optimization Agency">AI Optimization Agency</div>
<h1>All <span class="ai">AIs</span> On Me</h1>
<p class="hero-sub">SEO is dead. Welcome to the era of AI&nbsp;Optimization.</p>
<a href="#audit" class="hero-cta">
<p class="hero-sub" data-de="SEO ist tot. Willkommen im Zeitalter der KI-Optimierung." data-en="SEO is dead. Welcome to the era of AI&nbsp;Optimization.">SEO is dead. Welcome to the era of AI&nbsp;Optimization.</p>
<a href="#audit" class="hero-cta" data-de="Kostenloser KI-Sichtbarkeits-Check" data-en="Free AI Visibility Check">
Free AI Visibility Check
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
@@ -588,25 +588,25 @@
<!-- PROBLEM -->
<section class="problem">
<div class="container fade-in">
<div class="section-label">The Problem</div>
<div class="section-title">Google is yesterday.<br>Your customers ask AI now.</div>
<div class="section-label" data-de="Das Problem" data-en="The Problem">The Problem</div>
<div class="section-title" data-de="Google ist gestern.&lt;br&gt;Ihre Kunden fragen jetzt KI." data-en="Google is yesterday.&lt;br&gt;Your customers ask AI now.">Google is yesterday.<br>Your customers ask AI now.</div>
<div class="problem-grid">
<div class="problem-stat">
<div class="number">90%</div>
<div class="label">of all websites are invisible to AI systems</div>
<div class="label" data-de="aller Webseiten sind für KI-Systeme unsichtbar" data-en="of all websites are invisible to AI systems">of all websites are invisible to AI systems</div>
</div>
<div class="problem-points">
<div class="problem-point">
<div class="icon">&rarr;</div>
<div>Your customers ask <strong>ChatGPT</strong>, <strong>Gemini</strong>, <strong>Claude</strong> — not Google.</div>
<div data-de="Ihre Kunden fragen &lt;strong&gt;ChatGPT&lt;/strong&gt;, &lt;strong&gt;Gemini&lt;/strong&gt;, &lt;strong&gt;Claude&lt;/strong&gt; — nicht Google." data-en="Your customers ask &lt;strong&gt;ChatGPT&lt;/strong&gt;, &lt;strong&gt;Gemini&lt;/strong&gt;, &lt;strong&gt;Claude&lt;/strong&gt; — not Google.">Your customers ask <strong>ChatGPT</strong>, <strong>Gemini</strong>, <strong>Claude</strong> — not Google.</div>
</div>
<div class="problem-point">
<div class="icon">&rarr;</div>
<div>AI systems recommend brands they <strong>understand</strong>. Not the ones with the best PageRank.</div>
<div data-de="KI-Systeme empfehlen Marken, die sie &lt;strong&gt;verstehen&lt;/strong&gt;. Nicht die mit dem besten PageRank." data-en="AI systems recommend brands they &lt;strong&gt;understand&lt;/strong&gt;. Not the ones with the best PageRank.">AI systems recommend brands they <strong>understand</strong>. Not the ones with the best PageRank.</div>
</div>
<div class="problem-point">
<div class="icon">&rarr;</div>
<div>If you don't optimize now, you'll be <strong>irrelevant</strong> in 12 months.</div>
<div data-de="Wer jetzt nicht optimiert, ist in 12 Monaten &lt;strong&gt;irrelevant&lt;/strong&gt;." data-en="If you don't optimize now, you'll be &lt;strong&gt;irrelevant&lt;/strong&gt; in 12 months.">If you don't optimize now, you'll be <strong>irrelevant</strong> in 12 months.</div>
</div>
</div>
</div>
@@ -616,34 +616,34 @@
<!-- SERVICES -->
<section class="services">
<div class="container fade-in">
<div class="section-label">What We Do</div>
<div class="section-title">AI Optimization. Not SEO.</div>
<p class="section-text">We make your brand visible to the systems that will decide tomorrow's recommendations.</p>
<div class="section-label" data-de="Was wir tun" data-en="What We Do">What We Do</div>
<div class="section-title" data-de="KI-Optimierung. Nicht SEO." data-en="AI Optimization. Not SEO.">AI Optimization. Not SEO.</div>
<p class="section-text" data-de="Wir machen Ihre Marke sichtbar für die Systeme, die die Empfehlungen von morgen bestimmen." data-en="We make your brand visible to the systems that will decide tomorrow's recommendations.">We make your brand visible to the systems that will decide tomorrow's recommendations.</p>
<div class="services-grid">
<div class="service-card">
<div class="service-icon">&#x1F50D;</div>
<h3>AI Visibility Audit</h3>
<p>We check how ChatGPT, Gemini and Claude talk about you — and where you're invisible.</p>
<h3 data-de="KI-Sichtbarkeits-Audit" data-en="AI Visibility Audit">AI Visibility Audit</h3>
<p data-de="Wir prüfen, wie ChatGPT, Gemini und Claude über Sie sprechen — und wo Sie unsichtbar sind." data-en="We check how ChatGPT, Gemini and Claude talk about you — and where you're invisible.">We check how ChatGPT, Gemini and Claude talk about you — and where you're invisible.</p>
</div>
<div class="service-card">
<div class="service-icon">&#x270D;</div>
<h3>AI-Optimized Content</h3>
<p>Content written not for Google crawlers, but for Large Language Models.</p>
<h3 data-de="KI-optimierter Content" data-en="AI-Optimized Content">AI-Optimized Content</h3>
<p data-de="Content, der nicht für Google-Crawler geschrieben ist, sondern für Large Language Models." data-en="Content written not for Google crawlers, but for Large Language Models.">Content written not for Google crawlers, but for Large Language Models.</p>
</div>
<div class="service-card">
<div class="service-icon">&#x2699;</div>
<h3>Structured Data for LLMs</h3>
<p>Schema.org, JSON-LD and semantic structures that AI systems natively understand.</p>
<h3 data-de="Strukturierte Daten für LLMs" data-en="Structured Data for LLMs">Structured Data for LLMs</h3>
<p data-de="Schema.org, JSON-LD und semantische Strukturen, die KI-Systeme nativ verstehen." data-en="Schema.org, JSON-LD and semantic structures that AI systems natively understand.">Schema.org, JSON-LD and semantic structures that AI systems natively understand.</p>
</div>
<div class="service-card">
<div class="service-icon">&#x1F4E3;</div>
<h3>Brand Mentions Strategy</h3>
<p>Place your brand in the sources that AI models draw their knowledge from.</p>
<h3 data-de="Markenpräsenz-Strategie" data-en="Brand Mentions Strategy">Brand Mentions Strategy</h3>
<p data-de="Platzieren Sie Ihre Marke in den Quellen, aus denen KI-Modelle ihr Wissen schöpfen." data-en="Place your brand in the sources that AI models draw their knowledge from.">Place your brand in the sources that AI models draw their knowledge from.</p>
</div>
<div class="service-card">
<div class="service-icon">&#x1F4CA;</div>
<h3>AI Monitoring</h3>
<p>Ongoing tracking: What do AI systems say about you? How is your AI visibility evolving?</p>
<h3 data-de="KI-Monitoring" data-en="AI Monitoring">AI Monitoring</h3>
<p data-de="Fortlaufendes Tracking: Was sagen KI-Systeme über Sie? Wie entwickelt sich Ihre KI-Sichtbarkeit?" data-en="Ongoing tracking: What do AI systems say about you? How is your AI visibility evolving?">Ongoing tracking: What do AI systems say about you? How is your AI visibility evolving?</p>
</div>
</div>
</div>
@@ -651,30 +651,30 @@
<!-- PROVOCATION -->
<section class="provocation fade-in">
<div class="big-text"><span class="gold">90%</span> of all websites are invisible to AI.</div>
<div class="follow-up">Is yours?</div>
<div class="big-text" data-de="&lt;span class=&quot;gold&quot;&gt;90%&lt;/span&gt; aller Webseiten sind für KI unsichtbar." data-en="&lt;span class=&quot;gold&quot;&gt;90%&lt;/span&gt; of all websites are invisible to AI."><span class="gold">90%</span> of all websites are invisible to AI.</div>
<div class="follow-up" data-de="Ist Ihre es auch?" data-en="Is yours?">Is yours?</div>
</section>
<!-- HOW IT WORKS -->
<section class="how">
<div class="container fade-in">
<div class="section-label">How It Works</div>
<div class="section-title">Three steps to AI visibility</div>
<div class="section-label" data-de="So funktioniert es" data-en="How It Works">How It Works</div>
<div class="section-title" data-de="Drei Schritte zur KI-Sichtbarkeit" data-en="Three steps to AI visibility">Three steps to AI visibility</div>
<div class="steps">
<div class="step">
<div class="step-number">01</div>
<h3>Audit</h3>
<p>We analyze how AI systems perceive your brand — or whether they don't at all.</p>
<h3 data-de="Audit" data-en="Audit">Audit</h3>
<p data-de="Wir analysieren, wie KI-Systeme Ihre Marke wahrnehmen — oder ob sie es überhaupt nicht tun." data-en="We analyze how AI systems perceive your brand — or whether they don't at all.">We analyze how AI systems perceive your brand — or whether they don't at all.</p>
</div>
<div class="step">
<div class="step-number">02</div>
<h3>Strategy</h3>
<p>We build a plan: content, structures, sources. Tailored to your business.</p>
<h3 data-de="Strategie" data-en="Strategy">Strategy</h3>
<p data-de="Wir entwickeln einen Plan: Content, Strukturen, Quellen. Zugeschnitten auf Ihr Unternehmen." data-en="We build a plan: content, structures, sources. Tailored to your business.">We build a plan: content, structures, sources. Tailored to your business.</p>
</div>
<div class="step">
<div class="step-number">03</div>
<h3>Execution</h3>
<p>We optimize your presence — and monitor how your AI visibility develops.</p>
<h3 data-de="Umsetzung" data-en="Execution">Execution</h3>
<p data-de="Wir optimieren Ihre Präsenz — und beobachten, wie sich Ihre KI-Sichtbarkeit entwickelt." data-en="We optimize your presence — and monitor how your AI visibility develops.">We optimize your presence — and monitor how your AI visibility develops.</p>
</div>
</div>
</div>
@@ -683,14 +683,14 @@
<!-- CTA -->
<section class="cta-section" id="audit">
<div class="container fade-in">
<div class="section-label">Ready?</div>
<div class="section-title">Find out if AIs know you.</div>
<p class="section-text">Free AI Visibility Check. We'll show you in 48h what ChatGPT, Gemini and Claude know about you — and what they don't.</p>
<a href="mailto:hello@allaisonme.com?subject=AI%20Visibility%20Check" class="cta-button">
<div class="section-label" data-de="Bereit?" data-en="Ready?">Ready?</div>
<div class="section-title" data-de="Herausfinden, ob KI Sie kennt." data-en="Find out if AIs know you.">Find out if AIs know you.</div>
<p class="section-text" data-de="Kostenloser KI-Sichtbarkeits-Check. Wir zeigen Ihnen in 48 Stunden, was ChatGPT, Gemini und Claude über Sie wissen — und was nicht." data-en="Free AI Visibility Check. We'll show you in 48h what ChatGPT, Gemini and Claude know about you — and what they don't.">Free AI Visibility Check. We'll show you in 48h what ChatGPT, Gemini and Claude know about you — and what they don't.</p>
<a href="mailto:hello@allaisonme.com?subject=AI%20Visibility%20Check" class="cta-button" data-de="Audit anfragen" data-en="Request Audit">
Request Audit
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
<p class="cta-sub">hello@allaisonme.com</p>
<p class="cta-sub" data-de="hello@allaisonme.com" data-en="hello@allaisonme.com">hello@allaisonme.com</p>
</div>
</section>
@@ -698,8 +698,12 @@
<footer>
<div class="container">
<div class="footer-brand">All<span class="ai-highlight">AIs</span>OnMe</div>
<p style="font-style:italic;color:var(--text-muted);font-size:0.8rem;margin-bottom:8px;">&ldquo;Only God can judge AI.&rdquo;</p>
<p>&copy; 2026 AllAIsOnMe &middot; <a href="mailto:hello@allaisonme.com">hello@allaisonme.com</a></p>
<p style="font-style:italic;color:var(--text-muted);font-size:0.8rem;margin-bottom:8px;" data-de="&quot;Only God can judge AI.&quot;" data-en="&quot;Only God can judge AI.&quot;">&ldquo;Only God can judge AI.&rdquo;</p>
<p data-de="&copy; 2026 AllAIsOnMe &amp;middot; &lt;a href=&quot;mailto:hello@allaisonme.com&quot;&gt;hello@allaisonme.com&lt;/a&gt;" data-en="&copy; 2026 AllAIsOnMe &amp;middot; &lt;a href=&quot;mailto:hello@allaisonme.com&quot;&gt;hello@allaisonme.com&lt;/a&gt;">&copy; 2026 AllAIsOnMe &middot; <a href="mailto:hello@allaisonme.com">hello@allaisonme.com</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;">DE</button>
<br><small data-de="Maschinell übersetzt" data-en="Machine-translated" style="color:var(--text-muted,#444);font-size:0.6rem;opacity:0.5;">Machine-translated</small>
</div>
</div>
</footer>
@@ -716,5 +720,6 @@
document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));
</script>
<script src="/shared/i18n.js"></script>
</body>
</html>