Engineering//10 Min. Lesezeit

Lokalisierungstests: Der umfassende Leitfaden zur Verifizierung mehrsprachiger Software

Eray Gündoğmuş
Teilen

Lokalisierungstests: Der umfassende Leitfaden zur Verifizierung mehrsprachiger Software

Das Wichtigste in Kürze

  • Lokalisierungstests prüfen, ob Ihre Software in allen Ziel-Locales korrekt funktioniert — nicht nur, ob Übersetzungen akkurat sind
  • Testkategorien umfassen: linguistische, kosmetische/UI-, funktionale, locale-spezifische und Barrierefreiheitstests
  • Pseudo-Lokalisierung erkennt i18n-Probleme frühzeitig, indem sie Texterweiterung, Sonderzeichen und RTL ohne echte Übersetzungen simuliert
  • Automatisierte Tests können Platzhalter, Stringlängen, Formatierungskorrektheit und UI-Layout prüfen, aber sprachliche Genauigkeit erfordert menschliche Überprüfung
  • Tests sollten kontinuierlich parallel zur Entwicklung stattfinden, nicht als abschließende Phase vor dem Release

Was sind Lokalisierungstests?

Lokalisierungstests prüfen, ob ein lokalisiertes Produkt für seine Zielgruppe korrekt funktioniert. Es geht weit über die Prüfung der Übersetzungsgenauigkeit hinaus — es wird sichergestellt, dass die gesamte User Experience — UI-Layout, Formatierung, Funktionalität und kulturelle Angemessenheit — für jedes Locale korrekt ist.

Ein verbreitetes Missverständnis ist, dass Lokalisierungstests nur das Korrekturlesen von Übersetzungen sind. In der Realität sind viele Lokalisierungsfehler technischer Natur: abgeschnittener Text, defekte Layouts, falsche Datumsformate, nicht funktionierende Links oder Encoding-Fehler, die nichts mit der Übersetzungsqualität zu tun haben.

Testkategorien

Linguistische Tests

Überprüfen Sie, ob Übersetzungen akkurat, natürlich und für die Zielgruppe angemessen sind.

Was zu prüfen ist:

  • Übersetzungsgenauigkeit (vermittelt sie die richtige Bedeutung?)
  • Natürlichkeit (klingt es wie Muttersprache, nicht wie übersetzter Text?)
  • Terminologiekonsistenz (wird „Dashboard" überall gleich übersetzt?)
  • Ton und Formalität (entspricht es der Produktstimme für diesen Markt?)
  • Grammatik und Rechtschreibung (korrekt für das Locale — britisches vs. amerikanisches Englisch, brasilianisches vs. europäisches Portugiesisch)

Wer führt es durch: Muttersprachler der Zielsprache, idealerweise mit Fachwissen.

Kosmetische / UI-Tests

Überprüfen Sie, ob übersetzte Inhalte in der Benutzeroberfläche korrekt angezeigt werden.

Was zu prüfen ist:

ProblemBeispiel
TextabschneidungButton-Beschriftung „Enregistrer les modifications" abgeschnitten zu „Enregistrer les modi..."
Text-OverflowLange deutsche Beschriftung schiebt andere Elemente aus dem Bild
Layout-DefekteRTL-Text verursacht falsch ausgerichtete Spalten
Font-RenderingFehlende Glyphen für CJK- oder Devanagari-Zeichen
Bild-ÜberlappungText überlappt hardcodierte Bilder oder Icons
Responsive DesignLokalisierter Inhalt bricht mobile Layouts

Wie zu testen: Visuelle Inspektion jedes Bildschirms in jeder Zielsprache. Screenshot-Vergleichstools (Percy, Chromatic) können die Erkennung von Layout-Änderungen automatisieren.

Funktionale Tests

Überprüfen Sie, ob die Anwendung in allen Locales korrekt funktioniert.

Was zu prüfen ist:

  • Locale-Wechsel funktioniert korrekt (Sprachwechsel führt nicht zum Statusverlust)
  • Formulare akzeptieren locale-spezifische Eingaben (Namen mit Diakritika, Adressen in verschiedenen Formaten)
  • Suche funktioniert mit akzentuierten Zeichen (Suche nach „café" findet „cafe" und umgekehrt)
  • Sortierung folgt locale-spezifischen Regeln (schwedische alphabetische Reihenfolge unterscheidet sich vom Englischen)
  • Links und Navigation funktionieren in allen Sprachversionen
  • Währungs-, Datums- und Zahleneingaben akzeptieren locale-gerechte Formate

Locale-spezifische Tests

Überprüfen Sie, ob locale-bewusste Funktionen für jedes Ziel-Locale korrekt funktionieren.

Was zu prüfen ist:

FunktionBeispiel
DatumsformatierungUSA: 03/02/2026, Deutschland: 02.03.2026, Japan: 2026/03/02
ZahlenformatierungUSA: 1,234.56, Deutschland: 1.234,56, Frankreich: 1 234,56
WährungsformatierungUSA: $1,234, Japan: ¥1,234, Deutschland: 1.234 €
ZeitformatierungUSA: 3:30 PM, Deutschland: 15:30
AdressformatUSA: City, State ZIP, Deutschland: PLZ Ort
TelefonnummernformatUSA: (555) 123-4567, UK: 020 1234 5678

Barrierefreiheitstests

Überprüfen Sie, ob lokalisierte Inhalte barrierefrei bleiben.

Was zu prüfen ist:

  • Screen-Reader lesen übersetzte Inhalte korrekt vor
  • lang-Attribut ist am HTML-Element und bei inline-Sprachwechseln korrekt gesetzt
  • RTL-Inhalt ist korrekt mit dir="rtl" markiert
  • Farbkontrast bleibt bei übersetztem Text erhalten (unterschiedliche Länge kann das Layout beeinflussen)
  • Tastaturnavigation funktioniert in allen Locales

Pseudo-Lokalisierung

Pseudo-Lokalisierung ist eine Technik zum Auffinden von Internationalisierungsfehlern, bevor echte Übersetzungen verfügbar sind. Sie transformiert Quell-Strings auf Weisen, die Lokalisierungsherausforderungen simulieren:

Typen der Pseudo-Lokalisierung

Akzentzeichen: Ersetzen von ASCII-Zeichen durch akzentuierte Äquivalente.

  • „Settings" → „Šéttîñgš"
  • Tests: Unicode-Behandlung, Font-Rendering, Zeichenkodierung

Texterweiterung: Strings auffüllen, um die in europäischen Sprachen übliche Erweiterung von 30–40 % zu simulieren.

  • „Save" → „[Šåvé xxxxxxxxx]"
  • Tests: Layout-Flexibilität, Textabschneidung, Responsive Design

Klammern/Marker: Strings in sichtbare Marker einschließen, um nicht übersetzte oder hardcodierte Texte zu identifizieren.

  • „Settings" → „[Šéttîñgš]"
  • Tests: Vollständigkeit der String-Externalisierung — jeder Text ohne Klammern ist hardcodiert

RTL-Simulation: Textrichtung umkehren, um Layout-Spiegelung zu testen.

  • Tests: UI-Spiegelung, bidirektionale Textbehandlung, CSS logical properties

Wann Pseudo-Lokalisierung einsetzen

  • Während der Entwicklung: Pseudo-Lokalisierung in Development-Builds aktivieren, um Probleme sofort bei ihrer Entstehung zu erkennen
  • Vor der Übersetzung: Sicherstellen, dass alle Strings externalisiert sind und die UI Erweiterungen verarbeiten kann, bevor in echte Übersetzungen investiert wird
  • In CI/CD: Einen Pseudo-Lokalisierungs-Build-Schritt hinzufügen, der fehlschlägt, wenn hardcodierte Strings erkannt werden
// Beispiel: Pseudo-Lokalisierungskonfiguration
{
  "pseudoLocale": {
    "enabled": true,
    "strategy": "accented",
    "expansion": 1.35,
    "brackets": true
  }
}

Automatisierte Testansätze

Platzhalter-Validierung

Überprüfen Sie, ob alle Platzhalter aus Quell-Strings in Übersetzungen vorhanden sind:

// Test: Jeder {Platzhalter} in der Quelle existiert in der Übersetzung
function validatePlaceholders(source, translation) {
  const sourcePlaceholders = source.match(/\{[^}]+\}/g) || [];
  const translationPlaceholders = translation.match(/\{[^}]+\}/g) || [];

  for (const placeholder of sourcePlaceholders) {
    if (!translationPlaceholders.includes(placeholder)) {
      throw new Error(`Fehlender Platzhalter ${placeholder} in der Übersetzung`);
    }
  }
}

Visuelle Regressionstests

Verwenden Sie Tools wie Playwright oder Cypress, um Screenshots in jedem Locale aufzunehmen und mit Baselines zu vergleichen:

// Playwright: Screenshots für jedes Locale aufnehmen
for (const locale of ['en', 'de', 'ja', 'ar']) {
  await page.goto(`https://app.example.com/${locale}/dashboard`);
  await page.screenshot({
    path: `screenshots/${locale}-dashboard.png`,
    fullPage: true,
  });
}

Prüfung der Übersetzungsvollständigkeit

// Sicherstellen, dass alle Quell-Keys Übersetzungen haben
function checkCompleteness(sourceKeys, translationKeys, locale) {
  const missing = sourceKeys.filter(key => !translationKeys.includes(key));
  if (missing.length > 0) {
    console.warn(`${locale}: ${missing.length} fehlende Übersetzungen`);
    console.warn('Fehlende Keys:', missing.slice(0, 10));
  }
}

Format-Validierung

Überprüfen Sie, ob Übersetzungsdateien gültig sind:

  • JSON-Dateien werden ohne Fehler geparst
  • XLIFF-Dateien sind wohlgeformtes XML
  • PO-Dateien haben übereinstimmende msgid/msgstr-Paare
  • Keine doppelten Keys in einer Datei

Integration in den Test-Workflow

Während der Entwicklung

  1. Pseudo-Lokalisierung in Development-Builds aktiviert
  2. Entwickler sehen erweiterten/akzentuierten Text und beheben Layout-Probleme sofort
  3. Keine Abhängigkeit von Übersetzern oder fertigen Übersetzungen

In CI/CD

  1. Platzhalter-Validierung läuft bei jedem PR
  2. Übersetzungsvollständigkeit wird für alle Ziel-Locales geprüft
  3. Format-Validierung stellt sicher, dass Übersetzungsdateien syntaktisch korrekt sind
  4. Visuelle Regressionstests erkennen Layout-Probleme in wichtigen Locales

Vor dem Release

  1. Vollständige linguistische Überprüfung durch Muttersprachler für neue oder geänderte Inhalte
  2. In-Context-Review in der Staging-Umgebung
  3. Funktionale Tests von locale-spezifischen Features
  4. RTL-Layout-Verifizierung für Arabisch/Hebräisch
  5. Barrierefreiheits-Audit für alle Locales

FAQ

Wie viel Zeit sollte ich für Lokalisierungstests einplanen?

Planen Sie 2–4 Stunden linguistischer Überprüfung pro 1.000 Wörter pro Sprache für die menschliche Überprüfung ein. Funktionale und UI-Tests hängen von der Anwendungskomplexität ab — budgetieren Sie 1–2 Tage pro Ziel-Locale für einen vollständigen Durchlauf. Automatisierte Prüfungen (Platzhalter, Format, Vollständigkeit) laufen in Minuten als Teil von CI/CD.

Kann ich linguistische Tests automatisieren?

Teilweise. Automatisierte Tools können Grammatik und Rechtschreibung prüfen, inkonsistente Terminologie markieren und häufige Muster erkennen (fehlende Interpunktion, falsche Formalität). Das Überprüfen von Übersetzungsgenauigkeit, Natürlichkeit und kultureller Angemessenheit erfordert jedoch menschliche Muttersprachler. Automatisieren Sie die mechanischen Prüfungen und investieren Sie menschliche Zeit in die nuancierte Überprüfung.

Was sind die häufigsten Lokalisierungsfehler?

Basierend auf gängiger Branchenerfahrung: (1) Textabschneidung durch längere Übersetzungen, (2) hardcodierte Strings, die bei der Externalisierung übersehen wurden, (3) falsche Datums-/Zahlenformatierung, (4) defekte Layouts in RTL-Sprachen, (5) Platzhalter in Übersetzungen entfernt oder dupliziert, (6) Encoding-Probleme mit Sonderzeichen.

Comments

Loading comments...