Quality Gate
Jede Übersetzung durchläuft ein deterministisches Validierungsgate, bevor sie auf die Festplatte geschrieben wird. Das Quality Gate fängt häufige Fehlermodi maschineller Übersetzung ab — keine stillen Fallbacks, kein Datenmüll in Ihren Locale-Dateien.
Validierungsprüfungen
| Prüfung | Was es abfängt | Gate-Label |
|---|---|---|
| Empty/blank | Modell hat einen leeren String oder Leerzeichen zurückgegeben | [GATE] empty |
| Source echo | Modell hat die ursprüngliche englische Eingabe zurückgegeben | [GATE] source-echo |
| Hallucination loop | Wiederholte Trigramm-Muster (z. B. "Qo' Qo' Qo'") | [GATE] hallucination |
| Length inflation | Ausgabe ist deutlich länger als die Quelle | [GATE] length |
| Script compliance | Falsches Schriftsystem für die Ziel-Locale | [GATE] script |
| ICU plural categories | Fehlende erforderliche Pluralformen für die Locale | [GATE] icu-plural |
Empty/Blank
Lehnt Übersetzungen ab, die leere Strings, nur Leerzeichen oder null sind. Dies fängt Modelle ab, die für schwierige Schlüssel nichts zurückgeben.
Source Echo
Erkennt, wenn das Modell den englischen Quelltext zurückgibt, anstatt ihn zu übersetzen. Häufig bei kurzen Strings und unzureichend spezifizierten Prompts.
Hallucination Loop
Analysiert Trigramm-Muster (3-Zeichen) in der Ausgabe. Wenn sich ein Trigramm relativ zur Ausgabelänge häufiger als ein Schwellenwert wiederholt, wird die Übersetzung abgelehnt. Dies fängt degenerierte Ausgaben wie "Qo' Qo' Qo' Qo' Qo'" ab.
Length Inflation
Lehnt Übersetzungen ab, bei denen die Ausgabelänge maxLengthRatio × source length überschreitet (Standard: 4×). Dies fängt Modell-Halluzinationen ab, die für eine kurze Eingabe Textwände erzeugen.
Konfigurierbar über maxLengthRatio in Ihrer Konfiguration.
Script Compliance
Für Locales mit einem konfigurierten script-Feld (z. B. "script": "cans" für Plains-Cree-Silbenschrift) wird validiert, ob die Ausgabe Nicht-ASCII-Zeichen enthält, die für das Zielschriftsystem geeignet sind. Eine reine Latin-Ausgabe für eine arabische, CJK- oder Silbenschrift-Locale wird abgelehnt.
Was bei einem Fehler geschieht
- Die fehlgeschlagene Übersetzung wird mit einem
[GATE]-Präfix, dem Schlüsselnamen, dem Grund und einer Vorschau des Werts auf stderr protokolliert - Der Schlüssel wird nicht in die Locale-Datei geschrieben
- Die Retry-Kaskade setzt ein (siehe unten)
[GATE] hero.title: source-echo — "Welcome to our platform"
[GATE] nav.about: hallucination — "À À À À À À À À"
Retry-Kaskade
Wenn ein Batch fehlschlägt (JSON-Parse-Fehler oder Ablehnungen durch das Quality Gate), wiederholt champollion den Vorgang mit zunehmend kleineren Batches:
Full batch (80 keys) → parse error
└→ Half batch (40 keys) → 2 failures
└→ Individual keys (1 each) → isolates the 2 problem keys
Das Retry-Budget ist durch maxRetries begrenzt (Standard: 3, pro Sprache konfigurierbar). Dies verhindert ausufernde Token-Kosten für Schlüssel, die konsistent fehlschlagen.
Nach Erschöpfung der Wiederholungsversuche werden die problematischen Schlüssel protokolliert und übersprungen. Sie werden beim nächsten sync-Lauf erneut versucht.
Prompt Caching
Die Systemnachricht (Register, Grammatikregeln, Stilhinweise) wird von der Benutzernachricht (die zu übersetzenden Schlüssel) getrennt. Diese Trennung ist beabsichtigt:
- Die Systemnachricht ist über alle Batches hinweg identisch für eine bestimmte Locale
- Anbieter wie Anthropic und Google cachen wiederholte Systemnachrichten
- Ergebnis: Der erste Batch zahlt die vollen Token-Kosten, nachfolgende Batches zahlen nur für die Benutzernachricht
Dies kann die Token-Kosten für Projekte mit vielen Batches erheblich reduzieren.
ICU-MessageFormat-Validierung
Der integrity-Befehl validiert ICU-MessageFormat-Pluralmuster anhand der CLDR-Pluralregeln. Wenn Ihre Quelldatei ICU-Syntax wie die folgende verwendet:
"items": "{count, plural, one {# item} other {# items}}"
verifiziert Champollion, dass die übersetzten Versionen alle erforderlichen Pluralkategorien für die Ziel-Locale enthalten. Arabisch erfordert beispielsweise sechs Kategorien (zero, one, two, few, many, other) — nicht nur one und other.
Führen Sie champollion integrity aus, um die Pluralvollständigkeit über alle Locales hinweg zu prüfen.
Terminologie-Durchsetzung
Für gecoachte Paare mit einem Wörterbuch führt champollion eine Terminologieprüfung nach der Übersetzung durch. Nachdem das Quality Gate bestanden wurde, wird überprüft, ob das LLM die erforderlichen Wörterbuchbegriffe tatsächlich verwendet hat.
[TERM] en→fr: 2 term violation(s)
• hero.title: "dashboard" → expected "tableau de bord" but got "panneau de contrôle"
Terminologieverstöße sind Warnungen, keine blockierenden Fehler. Die Übersetzung wird dennoch auf die Festplatte geschrieben. Dies ist beabsichtigt — das LLM kann valide Gründe für die Wahl einer Alternative haben (Kontext, Grammatik), und ein Blockieren bei Begriffsabweichungen würde mehr Schaden als Nutzen anrichten.
Um Verstöße zu beheben, aktualisieren Sie das Coaching-Wörterbuch oder bearbeiten Sie die Locale-Datei manuell.
Siehe auch
- How Sync Works — wo das Quality Gate in die Pipeline passt
- Translation Methods — Methoden, die in das Gate einfließen
- Script Converters — Schriftkonvertierung nach dem Gate
- Coaching Data — Verbesserung der Übersetzungsqualität im Vorfeld
- Translation Memory — Zwischenspeicherung validierter Übersetzungen
- CLI Reference — sync — Sync-Flags einschließlich Retry-Verhalten
- CLI Reference — integrity — ICU-Plural-Auditierung