Ein Blog, der seine eigenen Übersetzungen prüft
Dieser Blog hat 64 Beiträge in elf Sprachen: 704 Zeilen und rund 2,2 Millionen Zeichen. Kein Beitrag fehlt in irgendeiner Sprache — eine Behauptung, die nur dann etwas bedeutet, wenn etwas sie erzwingt.
Etwas tut das. Bevor eine übersetzte Zeile geschrieben wird, wird sie gegen die englische Urfassung geprüft, und eine Zeile, die durchfällt, wird gar nicht erst geschrieben — sie wird gemeldet und einem Menschen zum Ansehen überlassen.
Wofür jede Prüfung da ist
Dieselben Verweisziele. Ein interner Pfad darf sich beim Übersetzen nicht ändern: /privacy heißt in jeder Sprache /privacy, den Sprachpräfix setzt erst die Ausgabe. Wer — Mensch oder nicht — einen Pfad hilfsbereit mitübersetzt, erzeugt einen Verweis, der nirgendwo hinführt.
Dieselben Platzhalter. Manche Beiträge tragen Zahlen, die beim Bauen der Seite eingesetzt werden, damit sie nicht veralten. Eine Übersetzung, die einen davon verliert, verliert eine Zahl; eine, die einen erfindet, produziert eine geschweifte Klammer mitten im Satz.
Dieselbe Anzahl je Tag. Nicht nur ausgeglichene Tags — dieselbe Anzahl wie im Englischen. Das ist die Prüfung, die ihren Platz verdient: eine verlorene Tabellenzeile, ein verschluckter Listenpunkt oder ein fehlendes Diagramm ist für jeden anderen Test unsichtbar, denn das Ergebnis bleibt gültiges HTML und liest sich einwandfrei.
Eine Länge im Band. Zwischen der Hälfte und dem Zweieinhalbfachen des Englischen. Sprachen sind tatsächlich verschieden lang, das Band ist deshalb weit; was es fängt, ist eine Übersetzung, die auf halbem Weg aufgehört hat.
Was sie gefangen hat und was sie fälschlich fing
Ein echter Fund: eine französische Übersetzung kam mit vier hervorgehobenen Wörtern, wo das Englische drei hatte, weil eine Verneinung in zwei Stücken ausgezeichnet war. Nichts sah falsch aus. Die Anzahl schon.
Zwei Fehlalarme, beide am selben Tag, beide lehrreich.
Der erste: ein Beitrag zitiert eine Zeile CSS, und CSS endet auf }}. Die Klammernprüfung zählte jedes {{ und jedes }}, also fiel jede Übersetzung dieses Beitrags durch, obwohl nichts kaputt war. Ein }} ohne {{ kann kein zerbrochener Platzhalter sein — Platzhalter beginnen mit {{ — also wird jetzt nur noch die öffnende Seite gezählt.
Der zweite: <rect/> und <path/> haben kein schließendes Tag, eine Balanceprüfung meldet sie also für immer als unbalanciert. Leere Elemente werden jetzt gezählt statt balanciert.
Beides hat eine Runde Arbeit gekostet, und beides war die Prüfung, die zu streng war statt zu locker. Das ist die bessere Richtung zum Scheitern, aber sie ist nicht umsonst: eine Prüfung, die falschen Alarm schlägt, wird von dem gelockert, der es eilig hat, und dann ist sie nicht mehr da, wenn es darauf ankommt.
Die Probe, auf die es am meisten ankam
Als die Beiträge Diagramme bekamen, wurde die Tag-Prüfung darauf erweitert. Statt dem zu vertrauen, wurde die Prüfung geprüft: aus einer Übersetzung wurde ein Diagramm absichtlich gelöscht und der Importer laufen gelassen.
Er meldete genau das Fehlende — das Diagramm, seine zehn Beschriftungen, seine vier Rechtecke, seine sieben Pfade — und schrieb die Zeile nicht. Das Diagramm wurde wiederhergestellt, und die Prüfung ging wieder durch.
Das hat zwei Minuten gedauert. Eine Prüfung, die man nie hat scheitern sehen, ist eine Prüfung, die man annimmt, und Annehmen ist genau das, wogegen das alles da ist.