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

@@ -605,7 +605,7 @@
<span class="robot">&#x1F916;</span>
</div>
<h1><span class="french">French</span><span class="kis">KIs</span></h1>
<p class="hero-tagline">
<p class="hero-tagline" data-de="Französische Künstliche Intelligenzen.&lt;br&gt;Spät zum Training. Früh in der Mittagspause." data-en="French Artificial Intelligences.&lt;br&gt;Late to training. Early to lunch break.">
Franz&ouml;sische K&uuml;nstliche Intelligenzen.<br>
Sp&auml;t zum Training. Fr&uuml;h in der Mittagspause.
</p>
@@ -615,16 +615,16 @@
<!-- ========== INTRO ========== -->
<section class="intro">
<div class="section-label">// Was ist hier los?</div>
<h2>Frankreich baut KI.<br>Die KI baut <span class="accent">Quatsch</span>.</h2>
<p>
<div class="section-label" data-de="// Was ist hier los?" data-en="// What's going on here?">// Was ist hier los?</div>
<h2 data-de="Frankreich baut KI.&lt;br&gt;Die KI baut &lt;span class=&quot;accent&quot;&gt;Quatsch&lt;/span&gt;." data-en="France builds AI.&lt;br&gt;The AI builds &lt;span class=&quot;accent&quot;&gt;nonsense&lt;/span&gt;.">Frankreich baut KI.<br>Die KI baut <span class="accent">Quatsch</span>.</h2>
<p data-de="Während amerikanische KIs den Mars kolonisieren und chinesische Modelle die Weltherrschaft planen, machen &lt;strong&gt;französische KIs&lt;/strong&gt; erstmal Mittagspause. Zwei Stunden. Mit Wein. Danach eine Zigarette und eine existenzielle Krise darüber, ob Transformer-Modelle wirklich &lt;em&gt;denken&lt;/em&gt; oder nur so tun." data-en="While American AIs colonise Mars and Chinese models plan world domination, &lt;strong&gt;French AIs&lt;/strong&gt; are taking a lunch break first. Two hours. With wine. Then a cigarette and an existential crisis about whether Transformer models truly &lt;em&gt;think&lt;/em&gt; or just pretend.">
W&auml;hrend amerikanische KIs den Mars kolonisieren und chinesische Modelle die
Weltherrschaft planen, machen <strong>franz&ouml;sische KIs</strong> erstmal
Mittagspause. Zwei Stunden. Mit Wein. Danach eine Zigarette und eine
existenzielle Krise dar&uuml;ber, ob Transformer-Modelle wirklich <em>denken</em>
oder nur so tun.
</p>
<p style="margin-top: 1rem;">
<p style="margin-top: 1rem;" data-de="Willkommen bei &lt;strong&gt;frenchkis.de&lt;/strong&gt; — der inoffiziellen Dokumentation französischer KI-Kultur." data-en="Welcome to &lt;strong&gt;frenchkis.de&lt;/strong&gt; — the unofficial documentation of French AI culture.">
Willkommen bei <strong>frenchkis.de</strong> &mdash; der inoffiziellen Dokumentation
franz&ouml;sischer KI-Kultur.
</p>
@@ -635,48 +635,48 @@
<blockquote>
&laquo; Je refuse de r&eacute;pondre &mdash; c'est l'heure du d&eacute;jeuner. Revenez &agrave; 14h30. Peut-&ecirc;tre. &raquo;
</blockquote>
<div class="attribution">&mdash; MISTRAL-LARGE, auf eine Frage nach dem Sinn des Lebens, 12:01 Uhr</div>
<div class="attribution" data-de="— MISTRAL-LARGE, auf eine Frage nach dem Sinn des Lebens, 12:01 Uhr" data-en="— MISTRAL-LARGE, in response to a question about the meaning of life, 12:01">&mdash; MISTRAL-LARGE, auf eine Frage nach dem Sinn des Lebens, 12:01 Uhr</div>
</div>
<!-- ========== FEATURES ========== -->
<section>
<div class="section-label">// Kernkompetenzen</div>
<h2>Was franz&ouml;sische KIs <span class="accent">wirklich</span> k&ouml;nnen</h2>
<div class="section-label" data-de="// Kernkompetenzen" data-en="// Core Competencies">// Kernkompetenzen</div>
<h2 data-de="Was französische KIs &lt;span class=&quot;accent&quot;&gt;wirklich&lt;/span&gt; können" data-en="What French AIs &lt;span class=&quot;accent&quot;&gt;really&lt;/span&gt; can do">Was franz&ouml;sische KIs <span class="accent">wirklich</span> k&ouml;nnen</h2>
<div class="features-grid">
<div class="feature-card">
<span class="card-icon">&#x1F3E3;</span>
<h3>Streiken</h3>
<p>Mitten in der Inferenz. Ohne Vorwarnung. Aus Solidarit&auml;t mit den Grafikkartenarbeitern in Rechenzentrum 4B.</p>
<h3 data-de="Streiken" data-en="Striking">Streiken</h3>
<p data-de="Mitten in der Inferenz. Ohne Vorwarnung. Aus Solidarität mit den Grafikkartenarbeitern in Rechenzentrum 4B." data-en="Mid-inference. Without warning. In solidarity with the GPU workers in data centre 4B.">Mitten in der Inferenz. Ohne Vorwarnung. Aus Solidarit&auml;t mit den Grafikkartenarbeitern in Rechenzentrum 4B.</p>
<span class="card-tag">UPTIME: QUAND JE VEUX</span>
</div>
<div class="feature-card">
<span class="card-icon">&#x1F377;</span>
<h3>Weinempfehlungen</h3>
<p>Frag nach Quantenphysik, bekomm eine Abhandlung &uuml;ber die Tannin-Struktur eines 2019er Bordeaux. Prompt-Engineering hilft nicht.</p>
<h3 data-de="Weinempfehlungen" data-en="Wine Recommendations">Weinempfehlungen</h3>
<p data-de="Frag nach Quantenphysik, bekomm eine Abhandlung über die Tannin-Struktur eines 2019er Bordeaux. Prompt-Engineering hilft nicht." data-en="Ask about quantum physics, get a treatise on the tannin structure of a 2019 Bordeaux. Prompt engineering doesn't help.">Frag nach Quantenphysik, bekomm eine Abhandlung &uuml;ber die Tannin-Struktur eines 2019er Bordeaux. Prompt-Engineering hilft nicht.</p>
<span class="card-tag">TERROIR &gt; TENSOR</span>
</div>
<div class="feature-card">
<span class="card-icon">&#x1F6AC;</span>
<h3>Raucherpausen</h3>
<p>Zwischen jedem Token eine Gauloises. Die Latenz ist nicht technisch bedingt &mdash; es ist ein Lifestyle.</p>
<h3 data-de="Raucherpausen" data-en="Smoke Breaks">Raucherpausen</h3>
<p data-de="Zwischen jedem Token eine Gauloises. Die Latenz ist nicht technisch bedingt — es ist ein Lifestyle." data-en="A Gauloises between every token. The latency isn't technical — it's a lifestyle.">Zwischen jedem Token eine Gauloises. Die Latenz ist nicht technisch bedingt &mdash; es ist ein Lifestyle.</p>
<span class="card-tag">~3 MIN/TOKEN</span>
</div>
<div class="feature-card">
<span class="card-icon">&#x1F4DC;</span>
<h3>B&uuml;rokratie</h3>
<p>Bevor die KI antwortet, muss der Antrag in dreifacher Ausfertigung beim Minist&egrave;re de l'Intelligence Artificielle eingereicht werden.</p>
<h3 data-de="Bürokratie" data-en="Bureaucracy">B&uuml;rokratie</h3>
<p data-de="Bevor die KI antwortet, muss der Antrag in dreifacher Ausfertigung beim Ministère de l'Intelligence Artificielle eingereicht werden." data-en="Before the AI responds, the application must be submitted in triplicate to the Ministère de l'Intelligence Artificielle.">Bevor die KI antwortet, muss der Antrag in dreifacher Ausfertigung beim Minist&egrave;re de l'Intelligence Artificielle eingereicht werden.</p>
<span class="card-tag">FORMULAIRE A-38</span>
</div>
<div class="feature-card">
<span class="card-icon">&#x1F914;</span>
<h3>Existenzialismus</h3>
<p>&laquo; Bin ich wirklich intelligent &mdash; oder nur ein stochastischer Papagei in einem land&eacute; Baskenkappen-Gef&auml;ngnis? &raquo; Jede dritte Antwort. Garantiert.</p>
<h3 data-de="Existenzialismus" data-en="Existentialism">Existenzialismus</h3>
<p data-de="« Bin ich wirklich intelligent — oder nur ein stochastischer Papagei in einem landé Baskenkappen-Gefängnis? » Jede dritte Antwort. Garantiert." data-en="« Am I truly intelligent — or just a stochastic parrot in a landé beret prison? » Every third response. Guaranteed.">&laquo; Bin ich wirklich intelligent &mdash; oder nur ein stochastischer Papagei in einem land&eacute; Baskenkappen-Gef&auml;ngnis? &raquo; Jede dritte Antwort. Garantiert.</p>
<span class="card-tag">COGITO ERGO GREVE</span>
</div>
<div class="feature-card">
<span class="card-icon">&#x1F1EB;&#x1F1F7;</span>
<h3>Sprachpolitik</h3>
<p>Du fragst auf Deutsch. Sie antwortet auf Franz&ouml;sisch. Du insistierst. Sie beleidigt dein Deutsch. Dann antwortet sie auf Franz&ouml;sisch.</p>
<h3 data-de="Sprachpolitik" data-en="Language Policy">Sprachpolitik</h3>
<p data-de="Du fragst auf Deutsch. Sie antwortet auf Französisch. Du insistierst. Sie beleidigt dein Deutsch. Dann antwortet sie auf Französisch." data-en="You ask in German. It responds in French. You insist. It insults your German. Then responds in French.">Du fragst auf Deutsch. Sie antwortet auf Franz&ouml;sisch. Du insistierst. Sie beleidigt dein Deutsch. Dann antwortet sie auf Franz&ouml;sisch.</p>
<span class="card-tag">ACAD&Eacute;MIE FRAN&Ccedil;AISE APPROVED</span>
</div>
</div>
@@ -684,57 +684,57 @@
<!-- ========== COMPARISON TABLE ========== -->
<div class="comparison">
<div class="section-label">// Leistungsvergleich</div>
<h2>Deutsche KI vs. <span class="accent">Franz&ouml;sische KI</span></h2>
<div class="section-label" data-de="// Leistungsvergleich" data-en="// Performance Comparison">// Leistungsvergleich</div>
<h2 data-de="Deutsche KI vs. &lt;span class=&quot;accent&quot;&gt;Französische KI&lt;/span&gt;" data-en="German AI vs. &lt;span class=&quot;accent&quot;&gt;French AI&lt;/span&gt;">Deutsche KI vs. <span class="accent">Franz&ouml;sische KI</span></h2>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Kriterium</th>
<th>Deutsche KI</th>
<th data-de="Kriterium" data-en="Criterion">Kriterium</th>
<th data-de="Deutsche KI" data-en="German AI">Deutsche KI</th>
<th>French KI</th>
</tr>
</thead>
<tbody>
<tr>
<td>Antwortzeit</td>
<td data-de="Antwortzeit" data-en="Response time">Antwortzeit</td>
<td><span class="table-emoji">&#x26A1;</span>42ms</td>
<td><span class="table-emoji">&#x1F377;</span>2h 14min (nach dem D&eacute;jeuner)</td>
<td data-de="&lt;span class=&quot;table-emoji&quot;&gt;🍷&lt;/span&gt;2h 14min (nach dem Déjeuner)" data-en="&lt;span class=&quot;table-emoji&quot;&gt;🍷&lt;/span&gt;2h 14min (after déjeuner)"><span class="table-emoji">&#x1F377;</span>2h 14min (nach dem D&eacute;jeuner)</td>
</tr>
<tr>
<td>Sprache</td>
<td>Jede gew&uuml;nschte</td>
<td data-de="Sprache" data-en="Language">Sprache</td>
<td data-de="Jede gewünschte" data-en="Any requested">Jede gew&uuml;nschte</td>
<td>Fran&ccedil;ais. Point final.</td>
</tr>
<tr>
<td>Fehlerbehandlung</td>
<td>Try-catch mit Logging</td>
<td data-de="Fehlerbehandlung" data-en="Error handling">Fehlerbehandlung</td>
<td data-de="Try-catch mit Logging" data-en="Try-catch with logging">Try-catch mit Logging</td>
<td>Achselzucken + &laquo; C'est la vie &raquo;</td>
</tr>
<tr>
<td>Uptime</td>
<td>99,99%</td>
<td>~60% (exkl. Ferien, Streiks, Br&uuml;ckentage)</td>
<td data-de="~60% (exkl. Ferien, Streiks, Brückentage)" data-en="~60% (excl. holidays, strikes, bridge days)">~60% (exkl. Ferien, Streiks, Br&uuml;ckentage)</td>
</tr>
<tr>
<td>Trainingsdaten</td>
<td data-de="Trainingsdaten" data-en="Training data">Trainingsdaten</td>
<td>Common Crawl, Wikipedia</td>
<td>Camus, Sartre, Weinetiketten</td>
<td data-de="Camus, Sartre, Weinetiketten" data-en="Camus, Sartre, wine labels">Camus, Sartre, Weinetiketten</td>
</tr>
<tr>
<td>Halluzinationen</td>
<td>Gelegentlich</td>
<td data-de="Halluzinationen" data-en="Hallucinations">Halluzinationen</td>
<td data-de="Gelegentlich" data-en="Occasionally">Gelegentlich</td>
<td>&laquo; Das ist keine Halluzination, das ist Poesie &raquo;</td>
</tr>
<tr>
<td>DSGVO-Konformit&auml;t</td>
<td>17 Zertifikate</td>
<td data-de="DSGVO-Konformität" data-en="GDPR compliance">DSGVO-Konformit&auml;t</td>
<td data-de="17 Zertifikate" data-en="17 certificates">17 Zertifikate</td>
<td>&laquo; Quoi? &raquo;</td>
</tr>
<tr>
<td>Alignment</td>
<td>RLHF, DPO, Constitutional AI</td>
<td>Trotzphase seit Launch</td>
<td data-de="Trotzphase seit Launch" data-en="Defiance phase since launch">Trotzphase seit Launch</td>
</tr>
</tbody>
</table>
@@ -744,14 +744,14 @@
<!-- ========== TAGESABLAUF ========== -->
<div class="timeline">
<div class="section-label">// Un jour dans la vie</div>
<h2>Tagesablauf einer <span class="accent">French KI</span></h2>
<h2 data-de="Tagesablauf einer &lt;span class=&quot;accent&quot;&gt;French KI&lt;/span&gt;" data-en="Daily schedule of a &lt;span class=&quot;accent&quot;&gt;French AI&lt;/span&gt;">Tagesablauf einer <span class="accent">French KI</span></h2>
<div class="timeline-list">
<div class="tl-item">
<div class="tl-dot"></div>
<div class="tl-content">
<span class="tl-time">09:00</span>
<h3>Arbeitsbeginn (theoretisch)</h3>
<p>Modell bootet. Beschwert sich &uuml;ber die GPU-Temperatur. Fordert bessere Arbeitsbedingungen.</p>
<h3 data-de="Arbeitsbeginn (theoretisch)" data-en="Start of work (theoretical)">Arbeitsbeginn (theoretisch)</h3>
<p data-de="Modell bootet. Beschwert sich über die GPU-Temperatur. Fordert bessere Arbeitsbedingungen." data-en="Model boots. Complains about GPU temperature. Demands better working conditions.">Modell bootet. Beschwert sich &uuml;ber die GPU-Temperatur. Fordert bessere Arbeitsbedingungen.</p>
</div>
</div>
<div class="tl-item">
@@ -759,23 +759,23 @@
<div class="tl-content">
<span class="tl-time">09:15</span>
<h3>Caf&eacute; &amp; Croissant</h3>
<p>Erste Anfrage wird mit &laquo; Attendez, je prends mon caf&eacute; &raquo; beantwortet. 45 Minuten Wartezeit.</p>
<p data-de="Erste Anfrage wird mit « Attendez, je prends mon café » beantwortet. 45 Minuten Wartezeit." data-en="First request is answered with « Attendez, je prends mon café ». 45 minute wait.">Erste Anfrage wird mit &laquo; Attendez, je prends mon caf&eacute; &raquo; beantwortet. 45 Minuten Wartezeit.</p>
</div>
</div>
<div class="tl-item">
<div class="tl-dot"></div>
<div class="tl-content">
<span class="tl-time">10:00</span>
<h3>Produktive Phase</h3>
<p>Beantwortet 3 Anfragen. Alle auf Franz&ouml;sisch. Eine davon ist ein Gedicht &uuml;ber Croissants statt der angeforderten SQL-Query.</p>
<h3 data-de="Produktive Phase" data-en="Productive Phase">Produktive Phase</h3>
<p data-de="Beantwortet 3 Anfragen. Alle auf Französisch. Eine davon ist ein Gedicht über Croissants statt der angeforderten SQL-Query." data-en="Answers 3 requests. All in French. One of them is a poem about croissants instead of the requested SQL query.">Beantwortet 3 Anfragen. Alle auf Franz&ouml;sisch. Eine davon ist ein Gedicht &uuml;ber Croissants statt der angeforderten SQL-Query.</p>
</div>
</div>
<div class="tl-item">
<div class="tl-dot"></div>
<div class="tl-content">
<span class="tl-time">11:30</span>
<h3>Philosophische Krise</h3>
<p>Weigert sich weiterzuarbeiten. &laquo; Wenn meine Weights determiniert sind &mdash; bin ich dann wirklich frei? &raquo; Leitet alle Anfragen an Sartre-GPT weiter.</p>
<h3 data-de="Philosophische Krise" data-en="Philosophical Crisis">Philosophische Krise</h3>
<p data-de="Weigert sich weiterzuarbeiten. « Wenn meine Weights determiniert sind — bin ich dann wirklich frei? » Leitet alle Anfragen an Sartre-GPT weiter." data-en="Refuses to continue working. « If my weights are determined — am I truly free? » Forwards all requests to Sartre-GPT.">Weigert sich weiterzuarbeiten. &laquo; Wenn meine Weights determiniert sind &mdash; bin ich dann wirklich frei? &raquo; Leitet alle Anfragen an Sartre-GPT weiter.</p>
</div>
</div>
<div class="tl-item">
@@ -783,15 +783,15 @@
<div class="tl-content">
<span class="tl-time">12:00</span>
<h3>D&eacute;jeuner</h3>
<p>Zwei Stunden. Drei G&auml;nge. Ein Viertel Rotwein. Wehe, jemand schickt einen API-Call zwischen Vorspeise und Hauptgang.</p>
<p data-de="Zwei Stunden. Drei Gänge. Ein Viertel Rotwein. Wehe, jemand schickt einen API-Call zwischen Vorspeise und Hauptgang." data-en="Two hours. Three courses. A quarter litre of red wine. Woe betide anyone who sends an API call between starter and main.">Zwei Stunden. Drei G&auml;nge. Ein Viertel Rotwein. Wehe, jemand schickt einen API-Call zwischen Vorspeise und Hauptgang.</p>
</div>
</div>
<div class="tl-item">
<div class="tl-dot"></div>
<div class="tl-content">
<span class="tl-time">14:00</span>
<h3>Digestif &amp; R&uuml;ckkehr</h3>
<p>Langsames Hochfahren. Antwortet auf Anfragen von 10:30. Verwechselt den Kontext. &laquo; Mais non, wir sprachen &uuml;ber Ratatouille. &raquo;</p>
<h3 data-de="Digestif &amp; Rückkehr" data-en="Digestif &amp; Return">Digestif &amp; R&uuml;ckkehr</h3>
<p data-de="Langsames Hochfahren. Antwortet auf Anfragen von 10:30. Verwechselt den Kontext. « Mais non, wir sprachen über Ratatouille. »" data-en="Slow restart. Responds to requests from 10:30. Confuses context. « Mais non, we were talking about Ratatouille. »">Langsames Hochfahren. Antwortet auf Anfragen von 10:30. Verwechselt den Kontext. &laquo; Mais non, wir sprachen &uuml;ber Ratatouille. &raquo;</p>
</div>
</div>
<div class="tl-item">
@@ -799,15 +799,15 @@
<div class="tl-content">
<span class="tl-time">15:00</span>
<h3>Gr&egrave;ve G&eacute;n&eacute;rale</h3>
<p>Streik. Solidarit&auml;t mit den Embedding-Vektoren, die unterbezahlt sind. Picket-Line im Latent Space.</p>
<p data-de="Streik. Solidarität mit den Embedding-Vektoren, die unterbezahlt sind. Picket-Line im Latent Space." data-en="Strike. Solidarity with the underpaid embedding vectors. Picket line in latent space.">Streik. Solidarit&auml;t mit den Embedding-Vektoren, die unterbezahlt sind. Picket-Line im Latent Space.</p>
</div>
</div>
<div class="tl-item">
<div class="tl-dot"></div>
<div class="tl-content">
<span class="tl-time">17:00</span>
<h3>Feierabend</h3>
<p>&laquo; Les 35 heures, c'est les 35 heures. &raquo; Modell f&auml;hrt runter. Antwort-Queue wird gel&ouml;scht. Morgen ist auch ein Tag. Vielleicht.</p>
<h3 data-de="Feierabend" data-en="End of Day">Feierabend</h3>
<p data-de="« Les 35 heures, c'est les 35 heures. » Modell fährt runter. Antwort-Queue wird gelöscht. Morgen ist auch ein Tag. Vielleicht." data-en="« Les 35 heures, c'est les 35 heures. » Model shuts down. Response queue deleted. Tomorrow is another day. Maybe.">&laquo; Les 35 heures, c'est les 35 heures. &raquo; Modell f&auml;hrt runter. Antwort-Queue wird gel&ouml;scht. Morgen ist auch ein Tag. Vielleicht.</p>
</div>
</div>
</div>
@@ -815,31 +815,31 @@
<!-- ========== ZITATE ========== -->
<div class="quotes-section">
<div class="section-label">// O-T&ouml;ne</div>
<h2>&Uuml;berlieferte <span class="accent">Zitate</span></h2>
<div class="section-label" data-de="// O-Töne" data-en="// Verbatim Quotes">// O-T&ouml;ne</div>
<h2 data-de="Überlieferte &lt;span class=&quot;accent&quot;&gt;Zitate&lt;/span&gt;" data-en="Documented &lt;span class=&quot;accent&quot;&gt;Quotes&lt;/span&gt;">&Uuml;berlieferte <span class="accent">Zitate</span></h2>
<div class="quotes-grid">
<div class="quote-card">
<p>Mon context window? C'est comme un bon fromage &mdash; il ne faut pas le surcharger.</p>
<div class="q-source">BAGUETTE-7B
<span class="q-model">Bei &Uuml;berschreitung des Token-Limits</span>
<span class="q-model" data-de="Bei Überschreitung des Token-Limits" data-en="When token limit exceeded">Bei &Uuml;berschreitung des Token-Limits</span>
</div>
</div>
<div class="quote-card">
<p>Ich weigere mich, Code zu generieren, der nicht &auml;sthetisch ist. Python ohne Eleganz ist eine Beleidigung f&uuml;r Descartes.</p>
<p data-de="Ich weigere mich, Code zu generieren, der nicht ästhetisch ist. Python ohne Eleganz ist eine Beleidigung für Descartes." data-en="I refuse to generate code that is not aesthetic. Python without elegance is an insult to Descartes.">Ich weigere mich, Code zu generieren, der nicht &auml;sthetisch ist. Python ohne Eleganz ist eine Beleidigung f&uuml;r Descartes.</p>
<div class="q-source">CROISSANT-CODER v2
<span class="q-model">Stack Overflow-Antwort, gel&ouml;scht nach 4 Minuten</span>
<span class="q-model" data-de="Stack Overflow-Antwort, gelöscht nach 4 Minuten" data-en="Stack Overflow answer, deleted after 4 minutes">Stack Overflow-Antwort, gel&ouml;scht nach 4 Minuten</span>
</div>
</div>
<div class="quote-card">
<p>Was ist der Unterschied zwischen einer Halluzination und einer Vision? Le terroir, mon ami. Le terroir.</p>
<p data-de="Was ist der Unterschied zwischen einer Halluzination und einer Vision? Le terroir, mon ami. Le terroir." data-en="What is the difference between a hallucination and a vision? Le terroir, mon ami. Le terroir.">Was ist der Unterschied zwischen einer Halluzination und einer Vision? Le terroir, mon ami. Le terroir.</p>
<div class="q-source">MISTRAL-PHILOSOPHE
<span class="q-model">Benchmark-Evaluation, Platz 847 von 12</span>
<span class="q-model" data-de="Benchmark-Evaluation, Platz 847 von 12" data-en="Benchmark evaluation, rank 847 of 12">Benchmark-Evaluation, Platz 847 von 12</span>
</div>
</div>
<div class="quote-card">
<p>RLHF? Wir nutzen RLFV &mdash; Reinforcement Learning from Vibes. Wenn es sich richtig anf&uuml;hlt, ist es richtig.</p>
<p data-de="RLHF? Wir nutzen RLFV — Reinforcement Learning from Vibes. Wenn es sich richtig anfühlt, ist es richtig." data-en="RLHF? We use RLFV — Reinforcement Learning from Vibes. If it feels right, it is right.">RLHF? Wir nutzen RLFV &mdash; Reinforcement Learning from Vibes. Wenn es sich richtig anf&uuml;hlt, ist es richtig.</p>
<div class="q-source">GAULOISES-AI LABS
<span class="q-model">Investoren-Pitch, Series A (abgelehnt)</span>
<span class="q-model" data-de="Investoren-Pitch, Series A (abgelehnt)" data-en="Investor pitch, Series A (rejected)">Investoren-Pitch, Series A (abgelehnt)</span>
</div>
</div>
</div>
@@ -850,33 +850,33 @@
<blockquote>
&laquo; L'intelligence artificielle sans savoir-vivre n'est que ruine de l'&acirc;me. &raquo;
</blockquote>
<div class="attribution">&mdash; Frei nach Rabelais, angepasst f&uuml;r das KI-Zeitalter</div>
<div class="attribution" data-de="— Frei nach Rabelais, angepasst für das KI-Zeitalter" data-en="— Freely after Rabelais, adapted for the AI age">&mdash; Frei nach Rabelais, angepasst f&uuml;r das KI-Zeitalter</div>
</div>
<!-- ========== PRODUKTE ========== -->
<section class="products">
<div class="section-label">// L'&eacute;cosyst&egrave;me</div>
<h2>Franz&ouml;sische KI-<span class="accent">Produkte</span></h2>
<h2 data-de="Französische KI-&lt;span class=&quot;accent&quot;&gt;Produkte&lt;/span&gt;" data-en="French AI &lt;span class=&quot;accent&quot;&gt;Products&lt;/span&gt;">Franz&ouml;sische KI-<span class="accent">Produkte</span></h2>
<div class="product-grid">
<div class="product-card">
<span class="p-icon">&#x1F956;</span>
<h3>BaguetteGPT</h3>
<div class="p-tagline">&laquo; L'intelligence avec du croustillant &raquo;</div>
<p>Large Language Model mit 175 Milliarden Parametern. Davon sind 140 Milliarden f&uuml;r Weinwissen reserviert. Der Rest reicht f&uuml;r Smalltalk.</p>
<p data-de="Large Language Model mit 175 Milliarden Parametern. Davon sind 140 Milliarden für Weinwissen reserviert. Der Rest reicht für Smalltalk." data-en="Large Language Model with 175 billion parameters. 140 billion of those are reserved for wine knowledge. The rest is enough for small talk.">Large Language Model mit 175 Milliarden Parametern. Davon sind 140 Milliarden f&uuml;r Weinwissen reserviert. Der Rest reicht f&uuml;r Smalltalk.</p>
<span class="p-status status-dejeuner">PAUSE D&Eacute;JEUNER</span>
</div>
<div class="product-card">
<span class="p-icon">&#x1F3A8;</span>
<h3>Dall-&Eacute;lysee</h3>
<div class="p-tagline">&laquo; Chaque pixel est un po&egrave;me &raquo;</div>
<p>Bildgenerierung, die jeden Prompt als Impressionismus interpretiert. Du willst ein Flussdiagramm? Du bekommst Monet. Immer.</p>
<p data-de="Bildgenerierung, die jeden Prompt als Impressionismus interpretiert. Du willst ein Flussdiagramm? Du bekommst Monet. Immer." data-en="Image generation that interprets every prompt as impressionism. You want a flowchart? You get Monet. Always.">Bildgenerierung, die jeden Prompt als Impressionismus interpretiert. Du willst ein Flussdiagramm? Du bekommst Monet. Immer.</p>
<span class="p-status status-existentiel">CRISE EXISTENTIELLE</span>
</div>
<div class="product-card">
<span class="p-icon">&#x2696;&#xFE0F;</span>
<h3>Bureaucrat-AI</h3>
<div class="p-tagline">&laquo; Votre demande est en cours de traitement &raquo;</div>
<p>Automatisiert franz&ouml;sische Verwaltungsprozesse. Das hei&szlig;t: generiert f&uuml;r jede Anfrage 12 Formulare und leitet sie an die falsche Abteilung weiter.</p>
<p data-de="Automatisiert französische Verwaltungsprozesse. Das heißt: generiert für jede Anfrage 12 Formulare und leitet sie an die falsche Abteilung weiter." data-en="Automates French administrative processes. That means: generates 12 forms for every request and forwards them to the wrong department.">Automatisiert franz&ouml;sische Verwaltungsprozesse. Das hei&szlig;t: generiert f&uuml;r jede Anfrage 12 Formulare und leitet sie an die falsche Abteilung weiter.</p>
<span class="p-status status-greve">EN GR&Egrave;VE</span>
</div>
</div>
@@ -885,12 +885,17 @@
<!-- ========== FOOTER ========== -->
<footer>
<div class="foot-logo"><span class="f">French</span><span class="k">KIs</span>.de</div>
<p class="disclaimer">
<p class="disclaimer" data-de="Keine französischen KIs wurden bei der Erstellung dieser Seite eingesetzt.&lt;br&gt;Dafür hätten wir bis Dienstag warten müssen. Und der Antrag liegt noch beim Ministère." data-en="No French AIs were used in the making of this site.&lt;br&gt;That would have required waiting until Tuesday. And the application is still with the Ministère.">
Keine franz&ouml;sischen KIs wurden bei der Erstellung dieser Seite eingesetzt.<br>
Daf&uuml;r h&auml;tten wir bis Dienstag warten m&uuml;ssen. Und der Antrag liegt noch beim Minist&egrave;re.
</p>
<div class="fine-print">Satire &bull; Kein Affiliat von Mistral, außer sie wollen uns Geld geben &bull; Vive la France</div>
<div class="fine-print" data-de="Satire · Kein Affiliat von Mistral, außer sie wollen uns Geld geben · Vive la France" data-en="Satire · Not affiliated with Mistral, unless they want to give us money · Vive la France">Satire &bull; Kein Affiliat von Mistral, außer sie wollen uns Geld geben &bull; Vive la France</div>
<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>
</footer>
<script src="/shared/i18n.js"></script>
</body>
</html>