Engineering//8 Min. Lesezeit

Translation QA Tools: Automatisierte Qualitätsprüfungen für lokalisierte Software

Eray Gündoğmuş
Teilen

Translation QA Tools: Automatisierte Qualitätsprüfungen für lokalisierte Software

Wichtigste Erkenntnisse

  • Automatisierte Translation QA erkennt mechanische Fehler (fehlende Platzhalter, beschädigte Formatierung, inkonsistente Terminologie), die Menschen oft übersehen
  • QA sollte in mehreren Phasen ausgeführt werden: während der Übersetzung, vor dem Review, vor dem Merge und vor dem Deployment
  • Die meisten TMS-Plattformen enthalten grundlegende QA-Prüfungen, aber dedizierte QA-Tools bieten eine tiefgreifendere Analyse
  • Visuelles Regressionstesting erkennt UI-Probleme, die durch übersetzten Text verursacht werden (Abschneidung, Überlauf, Layout-Fehler)
  • Ein mehrschichtiger QA-Ansatz — automatisierte mechanische Prüfungen + menschliches linguistisches Review — bietet das beste Qualitäts-/Kostenverhältnis

Warum Translation QA wichtig ist

Ein einziger fehlender Platzhalter in einer Übersetzung kann Ihre Anwendung zum Absturz bringen. Ein inkonsistenter Begriff kann Benutzer verwirren. Eine abgeschnittene Beschriftung kann eine Schaltfläche unbrauchbar machen. Translation QA verhindert, dass diese Probleme die Produktion erreichen.

Häufige Übersetzungsfehler nach Kategorie:

KategorieBeispielAuswirkung
Fehlender Platzhalter{name} aus der Übersetzung gelöschtLaufzeitfehler oder defekte UI
Falscher Platzhalter{username} zu {user_name} geändertVariable nicht aufgelöst
AbschneidungLange deutsche Übersetzung in einem Knopf mit fester BreiteUI-Element unbrauchbar
Terminologie„Dashboard" auf drei verschiedene Arten übersetztBenutzerverwirrung
FormatfehlerUngültiges JSON in der ÜbersetzungsdateiBuild-Fehler
KodierungNicht-UTF-8-Zeichen in der ÜbersetzungVerstümmelter Text

Typen automatisierter QA-Prüfungen

Platzhalter-Validierung

Die wichtigste automatisierte Prüfung. Überprüft, ob alle Variablen, Platzhalter und Interpolations-Token aus dem Quellstring in der Übersetzung vorhanden sind.

Was zu prüfen ist:

  • ICU-Variablen: {name}, {count}
  • HTML-Tags: <strong>, <a href="...">
  • Formatbezeichner: %s, %d, %@
  • Benutzerdefinierte Token: {{variable}}, $t(key)

Implementierung:

function validatePlaceholders(sourceStr, translatedStr) {
  const pattern = /\{[^}]+\}|<[^>]+>|%[sd@]|\$t\([^)]+\)/g;
  const sourceTokens = (sourceStr.match(pattern) || []).sort();
  const translatedTokens = (translatedStr.match(pattern) || []).sort();

  const missing = sourceTokens.filter(t => !translatedTokens.includes(t));
  const extra = translatedTokens.filter(t => !sourceTokens.includes(t));

  return { valid: missing.length === 0, missing, extra };
}

Terminologie-Konformität

Überprüft, ob Glossarbegriffe konsistent übersetzt werden:

  • Quellbegriff „Dashboard" sollte immer als „Tableau de bord" (Französisch) übersetzt werden, nie als „Panneau"
  • Markennamen sollten unübersetzt bleiben
  • Technische Begriffe sollten die genehmigte Übersetzung verwenden

Zeichenkettenlängen-Validierung

Markiert Übersetzungen, die deutlich länger als der Quelltext sind:

  • Zeichenketten, die die Quelllänge um mehr als einen konfigurierbaren Schwellenwert überschreiten (z. B. 150 %)
  • Zeichenketten, die länger als ein Zeichenlimit sind (für UI-Elemente mit fester Breite)
  • Leere Übersetzungen (Zeichenkette ist leer, wenn die Quelle es nicht ist)

Format-Validierung

Stellt sicher, dass Übersetzungsdateien syntaktisch gültig sind:

  • JSON: Gültiges JSON, keine abschließenden Kommas, korrekte Kodierung
  • XLIFF: Wohlgeformtes XML, korrekte Namensräume
  • PO: Übereinstimmende msgid/msgstr-Paare, gültige Pluralformen
  • Properties: Korrekte Maskierung für Sonderzeichen

Konsistenzprüfung

Identifiziert Fälle, in denen derselbe Quelltext mehrere verschiedene Übersetzungen hat oder ähnliche Quelltexte inkonsistente Übersetzungen aufweisen.

Interpunktion und Leerzeichen

  • Doppelte Leerzeichen in Übersetzungen
  • Fehlende abschließende Interpunktion (Quelle hat Punkt, Übersetzung nicht)
  • Falsche Anführungszeichen für das Zielgebietsschema (Französisch verwendet « » statt " ")
  • Führende/nachfolgende Leerzeichen

QA in Ihrem Workflow

Während der Übersetzung (In-TMS)

Die meisten TMS-Plattformen führen Echtzeit-QA durch, während Übersetzer arbeiten:

  • Fehlende Platzhalter sofort hervorheben
  • Vor Glossarverletzungen warnen
  • Längenvergleich zwischen Quelle und Übersetzung anzeigen

Dadurch werden Probleme am Entstehungsort erkannt, wo sie am günstigsten zu beheben sind.

Vor dem Review

Umfassende QA durchführen, bevor Übersetzungen in die Review-Phase eintreten:

  • Vollständige Platzhalter-Validierung über alle Zeichenketten
  • Terminologie-Konformitätsprüfung
  • Konsistenzanalyse
  • Längenvalidierung

Übersetzungen, die kritische Prüfungen nicht bestehen (fehlende Platzhalter), sollten bis zur Behebung vom Review blockiert werden.

Vor dem Merge (CI/CD)

QA-Prüfungen zu Ihrer CI/CD-Pipeline hinzufügen:

# GitHub Actions Beispiel
- name: Validate translations
  run: |
    npx translation-qa validate \
      --source src/locales/en.json \
      --translations "src/locales/*.json" \
      --checks placeholders,format,length \
      --max-length-ratio 1.5

Fehlgeschlagene Prüfungen sollten das Mergen des PR blockieren.

Vor dem Deployment

Abschließende Überprüfung, bevor Übersetzungen die Produktion erreichen:

  • Alle Locales erfüllen den Mindestvollständigkeitsschwellenwert
  • Keine kritischen QA-Probleme bleiben offen
  • Visuelle Regressionstests bestehen

Visuelles Regressionstesting

Textbasierte QA erkennt Datenprobleme, aber visuelles Testing erkennt UI-Probleme:

Was visuelles Testing erkennt

  • Textüberlauf durch längere Übersetzungen
  • Abgeschnittene Beschriftungen in Containern mit fester Breite
  • Fehlausrichtung von Elementen durch unterschiedliche Textlängen
  • RTL-Layout-Probleme
  • Schriftdarstellungsprobleme mit Sonderzeichen

Implementierung mit Playwright

const locales = ['en', 'de', 'ja', 'ar'];
const pages = ['/dashboard', '/settings', '/profile'];

for (const locale of locales) {
  for (const page of pages) {
    await browser.goto(`/${locale}${page}`);
    await browser.screenshot({
      path: `visual-qa/${locale}${page.replace('/', '-')}.png`,
    });
  }
}

Vergleichen Sie Screenshots mit Baseline-Bildern, um Layout-Änderungen zu erkennen. Tools wie Percy, Chromatic oder Playwrights eingebauter visueller Vergleich übernehmen dies automatisch.

Dedizierte QA-Tools

Für Teams, die eine tiefgreifendere Analyse als integrierte TMS-Prüfungen benötigen:

ToolSchwerpunkt
VerifikaUmfassende linguistische und technische QA für Übersetzungsdateien
QA DistillerMusterbasierte QA mit benutzerdefinierten Regeldefinitionen
XbenchTerminologie- und Konsistenzprüfung
Grammarly/LanguageToolGrammatik und Rechtschreibung für unterstützte Sprachen

Diese Tools sind am relevantesten für Enterprise-Workflows mit hohen Qualitätsanforderungen und großen Übersetzungsvolumen.

Aufbau einer QA-Pipeline

Ein praktischer, mehrschichtiger Ansatz:

Schicht 1 — Automatisiert (Jede Übersetzung):

  • Platzhalter-Validierung
  • Format-Validierung
  • Längenprüfungen
  • Terminologie-Konformität

Schicht 2 — Review (Kundenseitige Inhalte):

  • Menschliches linguistisches Review auf Genauigkeit und Natürlichkeit
  • In-Context-Review in der Staging-Umgebung

Schicht 3 — Visuell (Vor dem Release):

  • Screenshot-Vergleich für wichtige Seiten und Sprachen
  • RTL-Layout-Überprüfung
  • Responsives Design-Check mit übersetztem Inhalt

Schicht 4 — Monitoring (Nach dem Deployment):

  • Vom Benutzer gemeldete Übersetzungsprobleme
  • Fehlertracking für übersetzungsbedingte Laufzeitfehler
  • Analytics für gebietsschemaspezifische Absprungraten oder Support-Tickets

FAQ

Was ist das minimale QA, das jedes Team haben sollte?

Mindestens: Platzhalter-Validierung und Format-Validierung in Ihrer CI/CD-Pipeline. Diese zwei Prüfungen verhindern die wirkungsvollsten Probleme — Laufzeitabstürze durch fehlende Variablen und Build-Fehler durch ungültige Übersetzungsdateien. Sie sind einfach zu implementieren und erkennen Probleme, bevor sie Benutzer erreichen.

Wie gehe ich mit QA für Sprachen um, die ich nicht spreche?

Automatisiertes QA übernimmt mechanische Prüfungen unabhängig von Sprachkenntnissen. Für linguistische Qualität benötigen Sie Muttersprachler — entweder interne Reviewer, freiberufliche Reviewer aus Übersetzer-Marktplätzen oder Review-Dienste Ihres TMS-Anbieters. Konzentrieren Sie das Budget für menschliche Reviews auf Ihre wichtigsten Märkte und Inhaltsebenen.

Sollte QA das Deployment blockieren?

Kritische Prüfungen (fehlende Platzhalter, ungültiges Dateiformat) sollten das Deployment blockieren — diese verursachen Laufzeitfehler oder Build-Fehler. Nicht-kritische Prüfungen (Längenwarnungen, Terminologievorschläge, Konsistenzhinweise) sollten Warnungen erzeugen, aber nicht blockieren. Konfigurieren Sie Ihre CI/CD-Pipeline mit geeigneten Schweregrad-Stufen für jeden Prüfungstyp.

Comments

Loading comments...