Frankfurter Studio für mehrsprachige digitale Auftritte +49 69 95209894 [email protected] Mo–Fr 9–17 Uhr Kundenbereich →
DeutschDE

Praxis-Leitfaden

Leitfaden zur App- und Software-Lokalisierung (i18n)

Die Lokalisierung von Apps und Software erfordert eine durchdachte Trennung von Code und Texten. Dieser Leitfaden behandelt technische Aspekte wie Platzhalter, Pluralregeln, Textlängen, String-Keys, Kontext für Übersetzer und RTL-Unterstützung. Er hilft Entwicklern, internationale Anwendungen effizient und konsistent zu gestalten, ohne rechtliche oder finanzielle Themen zu berühren.

i18n
Internationalisierung abkürzen
RTL
Rechts-nach-links Unterstützung
ICU
Internationale Komponenten für Unicode
Diagramm zur Trennung von Code und Sprachressourcen

1. Trennung von Code und Texten

Die grundlegende Voraussetzung für jede Lokalisierung ist die strikte Trennung von Programmcode und textuellen Inhalten. Alle anzuzeigenden Texte sollten in externen Ressourcendateien (z. B. Properties, JSON, YAML) gespeichert werden, nicht hartcodiert im Quelltext. Dadurch können Übersetzer arbeiten, ohne den Code zu ändern. Verwenden Sie eindeutige String-Keys als Referenz im Code, die auf die jeweiligen Übersetzungen verweisen. Diese Trennung erleichtert zudem die Wartung und erlaubt späteres Hinzufügen neuer Sprachen ohne Codeänderungen. Achten Sie darauf, dass auch UI-Beschriftungen, Fehlermeldungen und Tooltips in diesen Dateien landen.

2. Platzhalter und Variablen

Texte enthalten oft dynamische Inhalte wie Zahlen, Namen oder Daten. Diese müssen über Platzhalter eingefügt werden, z. B. mit printf-Formatierung (%s, %d) oder moderneren Ansätzen wie geschweiften Klammern {0}. Wichtig ist, dass Übersetzer die Reihenfolge und Bedeutung der Platzhalter kennen. Verwenden Sie benannte Platzhalter (z. B. „{username}“), um Kontext zu geben. Bei Sprachen mit unterschiedlicher Satzstellung kann die Reihenfolge der Platzhalter variieren. Bieten Sie daher die Möglichkeit, die Reihenfolge in der Übersetzung anzupassen. Testen Sie alle Varianten, um fehlerhafte oder unvollständige Ausgaben zu vermeiden.

Beispiel für Platzhalter in übersetzbaren Strings

3. Pluralregeln und Mehrzahlbildung

Im Deutschen gibt es nur Singular und Plural, doch viele Sprachen haben komplexere Pluralregeln (z. B. Arabisch mit sechs Kategorien). Nutzen Sie Bibliotheken wie ICU MessageFormat, die Pluralregeln sprachspezifisch behandeln. Definieren Sie in Ihren Ressourcen separate Schlüssel für die verschiedenen Pluralformen (one, other). Der Code wählt dann automatisch die passende Form basierend auf der Zahl. Beispiel: „{count} {count, plural, one {Apfel} other {Äpfel}}“. Testen Sie jede Sprache mit mehreren Zahlenwerten, um sicherzustellen, dass die korrekte Pluralform angezeigt wird. Vermeiden Sie feste if-Abfragen – das ist fehleranfällig.

4. Textlänge und Layout-Puffer

Übersetzungen sind oft länger oder kürzer als der Originaltext. Besonders bei Buttons, Menüs und Labeln kann dies das Layout sprengen. Planen Sie daher ausreichend Platz für Texterweiterungen ein – ein guter Richtwert ist 30 % zusätzlicher Platz für westliche Sprachen, mehr für asiatische. Verwenden Sie dynamische Layouts, die sich an die Textlänge anpassen (z. B. Auto-Layout in iOS oder Flexbox im Web). Vermeiden Sie feste Breiten. Lassen Sie UI-Elemente gegebenenfalls mit Textumbruch umgehen. Testen Sie die Oberfläche mit den längsten zu erwartenden Übersetzungen, um Überlappungen oder Abschneidungen zu vermeiden.

5. String-Keys, Kontext für Übersetzer und RTL

Eindeutige String-Keys sind das Rückgrat der Lokalisierung. Verwenden Sie sprechende Namen (z. B. „login.button.title“) und dokumentieren Sie den Verwendungszweck. Geben Sie Übersetzern Kontext: Screenshots, maximale Zeichenlänge, Einschränkungen (z. B. „nicht länger als 20 Zeichen“). Für RTL-Sprachen wie Arabisch oder Hebräisch muss das UI gespiegelt werden. Nutzen Sie Layout-Attribute, die RTL automatisch unterstützen (z. B. start/end statt left/right). Testen Sie die gesamte Navigation unter RTL-Bedingungen. Denken Sie auch an Symbole und Grafiken – sie können je nach Kultur unterschiedlich interpretiert werden.

Checkliste für den Markteintritt

  • Externe Ressourcendateien für Texte nutzen
  • Platzhalter mit benannten Variablen und anpassbarer Reihenfolge
  • Pluralregeln mit ICU MessageFormat umsetzen
  • Layout mindestens 30% Puffer für Texterweiterungen
  • Sprechende String-Keys mit Kontextdokumentation
  • RTL-Unterstützung durch Layout-Attribute wie start/end
Layout-Raster mit unterschiedlichen Textlängen und Puffern

Häufige Fragen

Warum ist die Trennung von Code und Texten wichtig?

Sie ermöglicht Übersetzungen ohne Codeänderungen, vereinfacht die Wartung und erlaubt das Hinzufügen neuer Sprachen, ohne die Software neu kompilieren zu müssen.

Wie behandle ich Pluralformen in verschiedenen Sprachen?

Nutzen Sie Bibliotheken wie ICU MessageFormat, die für jede Sprache die korrekte Pluralform auswählen. Definieren Sie in den Ressourcen Schlüssel für jede Pluralkategorie (z. B. one, other).

Was ist bei RTL-Sprachen besonders zu beachten?

Das UI muss gespiegelt werden: Verwenden Sie logische Layout-Attribute (start/end) statt absoluter Richtungen. Testen Sie Navigation und Texteinrückungen unter RTL-Bedingungen.

Bereit für diesen Markt?

Wir lokalisieren Ihre Website sprachlich, technisch und kulturell – mit muttersprachlicher Prüfung und Festpreis. Fordern Sie ein unverbindliches Angebot an.

Unverbindliches Angebot anfordern

Deutsche GmbHAmtsgericht Frankfurt am Main · HRB 111727
D-U-N-S® registriert315030052
DSGVO-konforme VerarbeitungHosting in Deutschland
Festpreise mit schriftlicher Liefergarantie