Lokalisierung vom Englischen ins Deutsche – wie schwer kann das schon sein? Ein Proof of Concept mit Contentful und Claude.
In den 1980er-Jahren wurde der Werbeslogan eines deutschen Autobauers in Großbritannien zum geflügelten Wort. Vorsprung durch Technik. Dass er nie übersetzt oder lokalisiert wurde, spielte keine Rolle – er hatte für alle, die ihn hörten, einen ganz eigenen Klang.
Genau dieser Slogan geistert mir durch den Kopf, seit ich an diesem kleinen Projekt sitze, bei dem es darum geht, der Website eine einfache Form übersetzter Inhalte zu verpassen. Vordergründig liegt das wohl daran, dass der Ausgangstext britisches Englisch ist und die Zielsprache Deutsch. Aber auch daran, dass es die Technik ist, die einen früher komplexen Prozess zugänglicher macht.
Kurz gesagt: Ausgewählte Beiträge in diesem Blog haben in der englischen Fassung direkt unter der Autorenzeile eine kurze Zeile in Rot. Darin steht „Auch auf Deutsch lesen“. Ein Klick darauf, und du landest beim selben Essay auf Deutsch, mit demselben Titelbild und demselben Autor. Dazu kommen ein paar Feinheiten, die aus einer bloßen Übersetzung eine echte Lokalisierung machen.
Warum Deutsch? Weil ich in München lebe, aber in Großbritannien geboren und aufgewachsen bin. Meine Muttersprache ist Englisch, Deutsch zu lernen ist dagegen ein fortlaufender (aber immer reizvoller) Prozess. Wie sich die Nadel vom einen zum anderen bewegt, soll sich auch auf Be Useful widerspiegeln.
Die Wahl des Ansatzes
Es gibt zwei Wege, einer Website eine zweite (oder dritte oder vierte) Sprache hinzuzufügen. Du kannst dich kopfüber hineinstürzen und die ganze Website übersetzen, also das gesamte Drumherum – das Menü, die Buttons, Datumsangaben, Tags, einfach alles – und das Ganze dann gewissenhaft für immer auf demselben Stand halten. Dafür brauchst du von Anfang an eine klare Strategie und einen Plan für jeden Eventualfall.
Oder du gehst Schritt für Schritt vor und baust erst einmal einen kleinen Proof of Concept. Du übersetzt nur das Nötigste, damit ein einzelner Beitrag für deine Leserschaft lesbar ist, und kümmerst dich später um den Rest.
Ich habe mich für den zweiten Weg entschieden. Englisch ist die Standardsprache, einzelne Beiträge können aber eine zweite Fassung auf Deutsch bekommen. Es gibt keinen Sprachumschalter im Menü, der wie von Zauberhand zwischen EN und DE hin- und herwechselt, und keine Plugins, die Inhalte im Handumdrehen übersetzen.
Übersetzte Seiten liegen unter /de/ und übernehmen ansonsten die Adresse des englischen Beitrags. Die deutsche Fassung der RetroPie-Anleitung findest du also unter /de/posts/retropie-raspberry-pi-5. Googles Leitfaden zu mehrsprachigen und länderspezifischen Websites (opens in a new window) nennt ein solches Verzeichnis einfach einzurichten und pflegeleicht. Die Adresse selbst zu übersetzen ist ebenfalls erlaubt, dann bräuchte aber jeder Beitrag eine zweite Adresse, die mit der ersten Schritt halten muss.
Alles rund um den Artikel bleibt vorerst auf Englisch. Menü, Footer, Schlagwörter, Autorenprofile und die verwandten Beiträge am Seitenende gehören alle zur englischen Website. Eine deutsche Seite ist ein deutscher Artikel mitten in einem englischen Blog.
Noch einmal: Das hier ist ein Proof of Concept, um zu sehen, ob es funktioniert (tut es). Sollte ich irgendwann feststellen, dass die ganze Website von einer vollständigen Lokalisierung profitieren würde, etwa weil mehr Traffic aus Deutschland kommt, dann können wir diesen Weg immer noch einschlagen.
So funktioniert das im CMS
Die Beiträge in diesem Blog liegen in Contentful, einem Headless CMS. „Headless“ heißt, dass es die Inhalte speichert und ausliefert, aber völlig unabhängig davon ist, wie die Website aussieht. Die Website fragt einen Beitrag an und bekommt die einzelnen Felder als Daten zurück.
Sprachen heißen im CMS Locales, und jede ist meist an eine Region gebunden, etwa britisches Englisch (en-GB) oder Deutsch, wie es in Deutschland geschrieben wird (de-DE). Jedes Feld kann pro Locale einen Wert enthalten, ein Beitragstitel kann also gleichzeitig „Building blocks for building blogs“ in en-GB und „Bausteine für den Blogbau“ in de-DE lauten.
Nur vier Felder im Inhaltsmodell dieses Blogs haben einen deutschen Wert. Das sind der Titel des Beitrags, der Teaser und der Fließtext, die alle zu einem Inhaltstyp gehören, und der Text einer Randnotiz, der zu einem anderen gehört.
Alles andere, vom Titelbild und Datum bis zu Tags, Kategorie und Autoren, teilen sich beide Fassungen, abgesehen vom Alternativtext und der Bildunterschrift eines Bildes, die ihr eigenes Deutsch bekommen können. Eine Übersetzung muss also nie Arbeit wiederholen, die nichts mit Sprache zu tun hat.

Kleine Anekdote: Die erste deutsche Seite, die ich in der Vorschau getestet habe, hatte eine Lücke, wo das Titelbild hätte sein sollen, und leere Kreise anstelle der Autorenporträts. Wer das CMS nach einem Beitrag auf Deutsch fragte, fragte auch nach dessen Bildern auf Deutsch. Jedes Bild hat pro Sprache einen eigenen Platz für die Datei, und die deutschen waren leer, also hatte die Seite nichts anzuzeigen.
Die Lösung waren zwei Anfragen statt einer: der deutsche Text für sich und alles andere aus dem englischen Beitrag, zusammengesetzt, bevor die Seite entsteht.
Insgesamt gefällt mir aber, wie Contentful den Prozess handhabt. Du aktivierst die Locale, wenn du sie brauchst, und räumst sie weg, wenn nicht. Außerdem zeigt ein farbig markierter Reiter an jedem Eintrag, ob weitere Locales aktiv sind.
Die Beiträge übersetzen
Das Deutsch selbst stammt von Claude. Über den MCP-Connector kann Claude den englischen Ausgangstext lesen und die deutsche Entsprechung als unveröffentlichten Entwurf ins Locale-Feld schreiben. Wie bei jedem anderen Inhalt gilt auch hier Human in the Loop: Ich lese es, überarbeite alles, was falsch klingt, und veröffentliche es selbst.
(Nebenbei bemerkt: Meine Gedankenkritzeleien in technisch einwandfreiem Deutsch zu lesen, wird sich wohl immer ein bisschen unheimlich anfühlen. Einige meiner Deutschlehrer würden mich tadeln, weil ich es nicht gleich selbst versucht habe.)
Ein paar Hausregeln sorgen dafür, dass die Übersetzungen einheitlich bleiben. Das Deutsch duzt dich, weil auch das Englische locker ist. Dazu kommen lokale Gepflogenheiten: Filme behalten zum Beispiel ihre offiziellen deutschen Verleihtitel, also wird aus The Wages of Fear Lohn der Angst und aus Roman Holiday Ein Herz und eine Krone.
Einschübe, die nur für englische Leser Sinn ergeben, fallen weg. Redewendungen erwischt es am häufigsten. Im ersten deutschen Entwurf genau dieses Beitrags hieß die Sitemap ohne Zeilenumbrüche noch „Textwurst“, und die hat meine Durchsicht nicht überstanden.
Kniffliger ist es, zwei Fassungen eines Beitrags auf demselben Stand zu halten. Korrigiere ich nächstes Jahr einen Satz im Englischen, veraltet die deutsche Fassung, ohne dass es jemand merkt. Deshalb wird jeder übersetzte Beitrag in der Claude-Session mit einem Fingerabdruck des englischen Textes protokolliert, aus dem er übersetzt wurde. Ändert sich der Ausgangstext, wird die Änderung in die Übersetzung nachgezogen, vorerst allerdings nur auf manuellen Anstoß.
Eine Seite richtig deutsch machen
Übersetzung und Lokalisierung umfassen aber mehr als das, was auf der Seite sichtbar ist. Unter der Haube gibt es noch ein paar kleinere Baustellen. Bei Screenreadern zum Beispiel kann jedes Stück Text auf einer Webseite angeben, in welcher Sprache es geschrieben ist, und der Screenreader wählt danach die Stimme aus.
Liest eine deutsche Stimme Englisch vor oder eine englische Deutsch, klingt das unfreiwillig komisch. Deshalb muss der deutsche Artikel ausweisen, dass er deutsch ist, und alles darin, was englisch geblieben ist, muss ausweisen, dass es englisch ist. Das betrifft den Bild-Prompt zum Titelbild und jede Randnotiz oder Bildunterschrift, die noch nicht übersetzt ist.
Das Datum wiederum wird im CMS gar nicht übersetzt. Es wird einmal gespeichert, als Datum statt als Wörter, und die Website schreibt es in der Sprache der Seite aus. Auf Deutsch steht deshalb „5. September 2025“ statt „5 September 2025“. Die Links „Explore with AI“ am Ende jedes Beitrags, die den Artikel in ChatGPT oder Claude öffnen, schicken die deutsche Seite und einen deutschen Prompt mit: „Lies … und beantworte meine Fragen dazu“.
Die Verknüpfung zwischen den beiden Fassungen hat drei Anläufe gebraucht. Der erste war ein schlichter Textlink. Der zweite eine eingefärbte Pille mit einem kleinen Sprachensymbol, die wie ein Button aussah, der Aufmerksamkeit wollte. Der dritte, der am wenigsten aufdringlich wirkte und trotzdem auffällt, ist ein Symbol mit Link unter der Autorenzeile, im selben Rot wie alle anderen Links der Website.
Sind lokalisierte Seiten in der Suche sichtbar?
Ja, deutschsprachige Leser sollten die übersetzten Seiten über Suchmaschinen finden können. Suchmaschinen entdecken sie über die Sitemap, eine Datei, die jede Seite einer Website auflistet, und über ein Tag in jeder Seite, das auf ihr Gegenstück in der anderen Sprache verweist.
Googles Dokumentation (opens in a new window) beschreibt dieses Tag als Möglichkeit, Nutzer je nach Sprache oder Region auf die passendste Version einer Seite zu leiten. Wer auf Deutsch sucht, bekommt also die deutsche Seite angezeigt.
Abseits der Suche gibt es zwei Wege zu ihnen. Der eine ist der Link unter der Autorenzeile des englischen Beitrags. Der andere ist ein kleines „DE“ neben dem Titel des Beitrags im Archiv, damit man beim Stöbern in der vollständigen Liste sieht, welche Beiträge eine deutsche Fassung haben.
Die Suche auf der Website und der RSS-Feed sind weiterhin nur auf Englisch. Bei einer Handvoll deutscher Beiträge ist das ein vertretbarer Kompromiss. Eine deutsche Suchseite oder ein deutscher Feed wären mehr Aufwand, als das rechtfertigt.
Ein paar Stolpersteine
Nachdem die deutschen Seiten live gegangen waren, gingen zwei Dinge kaputt.
Die Sitemap wurde nicht mehr sauber angezeigt. Firefox stellt eine XML-Datei, also den schlichten strukturierten Text, in dem eine Sitemap geschrieben ist, normalerweise als eingerückten Baum dar. Nachdem die deutschen Seiten dazugekommen waren, zeigte er nur noch einen langen Textblock. Die Tags, die jeden Beitrag mit seinem deutschen Gegenstück verknüpfen, enthielten ein Stück Webseiten-Code, und sobald Firefox so etwas sieht, schaltet er die aufgeräumte Ansicht ab. Jede Seite gibt ihr Gegenstück ohnehin schon im eigenen Code an, also wanderte die Verknüpfung aus der Sitemap heraus, und der Baum kam zurück.
Das zweite Problem kam bei einem Barrierefreiheits-Audit ans Licht, das jede Seite der Live-Website in Desktop-Breite, in Smartphone-Breite und in Smartphone-Breite mit größerer Schrift geprüft hat. Eine Seite fiel durch. Der deutsche Titel des Beitrags zu Der dritte Mann lautet „Abenteuer im Nachkriegseuropa“ und enthält ein Wort, das für eine Zeile auf einem Smartphone-Bildschirm zu lang ist. Es schob die ganze Seite um 49 Pixel zur Seite. Beitragstitel können überlange Wörter jetzt umbrechen, und deutsche Titel trennen sie, wo der Browser weiß, wie.
Bremst das die Performance?
Eine deutsche Seite lädt dieselben Skripte, dieselben Styles und dieselben Schriften wie ihr englisches Gegenstück. Das Einzige, was hinzukommt, ist der Text selbst, bei einem langen Beitrag etwa drei Kilobyte mehr, weil Deutsch länger ist als Englisch. Die Seite steht genauso schnell auf dem Bildschirm.
Auch die Umlaute und die deutschen Anführungszeichen brauchten nichts Neues. Sie stecken schon in den Schriftdateien, die die Website ohnehin lädt.
Insgesamt waren es 17 kleine Pull Requests, also Pakete von Codeänderungen, die jeweils geprüft wurden, bevor sie auf die Website kamen. Es kamen keine neuen Softwarebibliotheken dazu, und es gibt keine separate deutsche Website, die gepflegt werden muss.
Wie es weitergeht
Das war also der Anfang meiner Abenteuer in der Lokalisierung und mein minimaler Proof of Concept für einen Lokalisierungs-Workflow. Künftig wähle ich die ältesten Beiträge im Archiv als Kandidaten für eine deutsche Übersetzung aus, weil deren Ausgangstext mehr oder weniger feststeht und sich wohl kaum noch ändern wird.
Irgendwann muss ich den Ansatz überdenken. Ab etwa zehn deutschen Beiträgen lohnt sich eine deutsche Startseite, ein Einstiegspunkt für deutschsprachige Leser. Ab etwa 15 sollte die Prüfung auf veraltete Übersetzungen von selbst laufen, und dann lohnen sich auch eine deutsche Suche und ein deutscher Feed.
Die Seiten „About“ und „Privacy“ bleiben bis auf Weiteres auf Englisch. Eine Datenschutzerklärung ist eine Aussage, für die ich geradestehen muss, also bräuchte eine deutsche Fassung erst eine ordentliche rechtliche Prüfung, bevor ich sie veröffentlichen könnte.
Vorsprung durch Technik. An meinem Deutsch muss ich trotzdem noch arbeiten.
multi-block linocut print, a stocky British bulldog and a long German dachshund in strict side profile facing each other nose to nose, bold hand-carved relief lines capturing expressive facial wrinkles and coat texture, rich block-printed inks in warm fawn, deep chestnut, charcoal black, and crimson on heavyweight cotton paper, the bulldog's brow furrowed, the dachshund's chin raised, each with a plain speech bubble, the bulldog's reads "BLOG?" in bold stencil capitals, the dachshund's reads "Blog!" in German blackletter, generous empty space around both, subjects centredAbout the author


