Lokalisierungsstrategie

Was ist I18n? Eine einfache Definition von Internationalisierung

Internationalisierung (i18n) ist der Prozess, bei dem Software so gestaltet und entwickelt wird, dass sie für Menschen aus verschiedenen Kulturen und Sprachen angepasst werden kann.
Localization strategy blog category featured image | Phrase

Akio Morita, der Mitbegründer von Sony, prägte einen Spruch, der zum Mantra vieler Unternehmen geworden ist, die in einem hart umkämpften globalen Wirtschaftsumfeld nach mehr Relevanz streben:

„Global denken, lokal handeln.“

Lokale Kulturen sind viel mehr als nur Sprache. Verschiedene Länder haben eigene Vorstellungen davon, wie Dinge gemacht werden, und eigene Regeln darüber, was akzeptabel ist und was nicht.

Deshalb muss jedes Softwareprodukt, sei es eine Web- oder Mobile-App, den kulturellen, sprachlichen, rechtlichen und anderen Anforderungen der Zielmärkte entsprechen. Damit das gelingt, muss die Software bereit für Veränderungen sein.

Dieser Prozess wird als Internationalisierung (i18n) bezeichnet. So funktioniert das.

Was bedeutet Internationalisierung (i18n)?

Internationalisierung (i18n) ist der Prozess der Gestaltung und Entwicklung eines Softwareprodukts, damit es an verschiedene Kulturen und Sprachen angepasst werden kann.

Internationalisierung umfasst nicht nur die Ermöglichung verschiedener Sprachen – sie beinhaltet auch die Anpassung der Software, um verschiedene Datenformate und Einstellungen zu akzeptieren und lokale Bräuche zu berücksichtigen und korrekt zu verarbeiten.

Die W3C Group definiert Internationalisierung wie folgt:

Internationalisierung ist die Gestaltung und Entwicklung eines Produkts, einer Anwendung oder von Dokumentinhalten, die eine einfache Lokalisierung für verschiedene Zielgruppen ermöglicht, die sich in Kultur, Region oder Sprache unterscheiden.

Folgendes gehört normalerweise zur Internationalisierung:

  • So zu gestalten und zu entwickeln, dass Hindernisse für die Lokalisierung oder internationale Bereitstellung entfernt werden. Dies beinhaltet Aspekte wie die Ermöglichung der Nutzung von Unicode, die korrekte Handhabung von alten Zeichencodierungen, wo es angebracht ist, Vorsicht beim Verketten von Strings, das Vermeiden von Abhängigkeiten im Code von Benutzeroberflächen-Stringwerten und so weiter.
  • Es wird Support für Features geboten, die möglicherweise erst bei der Lokalisierung zum Einsatz kommen. Beispielsweise kann Markup in der DTD hinzugefügt werden, um bidirektionalen Text zu unterstützen oder die Sprache zu identifizieren. Oder es kann CSS-Unterstützung für vertikalen Text oder andere nicht-lateinische typografische Merkmale hinzugefügt werden.
  • Es kann Code eingerichtet werden, um lokale, regionale, sprachliche oder kulturelle Vorlieben zu berücksichtigen. Typischerweise beinhaltet dies das Einbinden von vordefinierten Lokalisierungsdaten und Funktionen, die aus vorhandenen Bibliotheken oder Benutzereinstellungen abgeleitet sind. Beispiele sind Datums- und Zeitformate, lokale Kalender, Zahlenformate und Zahlensysteme, Sortierung und Präsentation von Listen, Umgang mit persönlichen Namen und Anredeformen etc.
  • Lokalisierbare Elemente werden vom Quellcode oder Inhalt getrennt, damit je nach internationalen Vorlieben bei Bedarf lokalisierte Alternativen geladen oder ausgewählt werden können.

Internationalisierung vs. Lokalisierung: Der Unterschied – einfach erklärt

Obwohl sie auf den ersten Blick ähnlich erscheinen, sind Internationalisierung und Lokalisierung nicht dasselbe. Lokalisierung bedeutet, Software anzupassen – von Inhalten, UI-Layout, Farben und Bildern bis hin zu Maßeinheiten, Datumsformaten und Währungen – um sie für eine bestimmte Region geeignet zu machen. Der Begriff „Locale“ definiert eine geografische Region mit einer bestimmten Sprache (z. B. fr_CA bedeutet Französisch aus Kanada, fr_FR bedeutet Französisch aus Frankreich, etc.).

Immer kommt die Internationalisierung zuerst und sie ist es, die die Lokalisierung erleichtert. In vielerlei Hinsicht kann man die Internationalisierung als das Erstellen der Struktur einer Software sehen, die für verschiedene Zielmärkte angepasst werden kann, und die Lokalisierung ist der Prozess, dies für einen spezifischen Markt zu tun. Beide sind wesentliche Bestandteile einer Lokalisierungsstrategie.

Von der W3C-Gruppe wird Lokalisierung wie folgt beschrieben:

Lokalisierung bezeichnet die Anpassung eines Produkts, einer Anwendung oder eines Dokuments an die sprachlichen, kulturellen und sonstigen Anforderungen eines bestimmten Zielmarktes (einer Lokalisierung). Lokalisierung wird manchmal als l10n geschrieben, wobei 10 die Anzahl der Buchstaben zwischen l und n ist. Obwohl häufig nur als Synonym für die Übersetzung der Benutzeroberfläche und Dokumentation angesehen, ist Lokalisierung oft ein weitaus komplexeres Thema.

Lokalisierung kann Anpassungen in folgenden Bereichen umfassen:

  • Numerische, Datums- und Zeitformate
  • Verwendung von Währungen
  • Verwendung der Tastatur
  • Kollation und Sortierung
  • Symbole, Icons und Farben
  • Texte und Grafiken, die auf Objekte, Handlungen oder Ideen verweisen, die in einer bestimmten Kultur missverstanden oder als unsensibel betrachtet werden könnten
  • Verschiedene rechtliche Anforderungen und vieles mehr…

Es kann sogar notwendig sein, Logik, visuelles Design oder Präsentation komplett neu zu überdenken, wenn die Art und Weise, wie Geschäfte abgewickelt werden (z. B. Buchhaltung) oder das akzeptierte Lernparadigma (z. B. Fokus auf Einzelne vs. Gruppe) an einem bestimmten Ort stark von der Ursprungskultur abweicht.

Localization best practice ebook cover | Phrase

Free download

Best practices for developing effective localization strategies

Explore how to tackle localization management efficiently and engage customers across the globe in their native languages and local experiences.

Download ebook

Warum ist i18n wichtig?

Die Internationalisierung hat einen großen Einfluss auf den Erfolg eines Softwareprodukts, da sie das Kundenerlebnis stark beeinflusst.

In einigen asiatischen Ländern steht der Familienname an erster Stelle, gefolgt vom Vornamen. In Spanien gibt es zwei Familiennamen, einer vom Vater und einer von der Mutter; in Deutschland kann der Nachname sogar mit einem Bindestrich verbunden werden. Es ist notwendig, dass die Software diese und andere sehr unterschiedliche Konventionen versteht und Informationen entsprechend darstellt.

Ein weiteres Beispiel sind die Formate von ZIP- und Postleitzahlen, die je nach Land stark variieren können:

  • In Kanada hat eine Postleitzahl zum Beispiel das Format X0X 0X0, wobei X ein Buchstabe und 0 eine Zahl ist.
  • Im Vereinigten Königreich kann eine Postleitzahl jedoch das Format X00 0XX, XX00 0XX, XX0 0XX, 0XX oder X0 0XX haben.
  • In Brasilien haben Postleitzahlen das Format 00000-000.

Richtig umgesetzt, kann Internationalisierung Software hervorbringen, die verschiedene Eingaben verarbeiten kann. Noch besser, wenn die Software diese Eingaben automatisch prüft, um sicherzustellen, dass das richtige Format für das jeweilige Land verwendet wird.

Das sind wichtige Aspekte bei der Entwicklung von Software, mit der sich Nutzer identifizieren und die problemlos genutzt werden kann. Ein Unternehmen, das durch seine Software keine Bestellungen annehmen kann, weil Postleitzahlen nicht korrekt dargestellt werden, hält sich nicht lange auf dem internationalen Markt.

Der Fall Baidu und Google

Baidu, die Nummer-eins-Suchmaschine in China, boomt, weil sie in China besser ankommt als Google. Baidu schneidet besser als Google ab, weil es gezielt auf lokale Kulturen, Einschränkungen und vielleicht am wichtigsten, auf die Anforderungen der Regierung, wie den Zugriff auf Nutzerinformationen und angeblich Zensur, eingeht.

So gut Baidus Lokalisierungsstrategie auch ist, sie ist nicht besonders gut internationalisiert und konnte in keine Märkte außerhalb Chinas vordringen. Obwohl das in einem Land mit mehr als einer Milliarde potenzieller Nutzer wahrscheinlich kein Problem darstellt, begrenzt es das zukünftige Wachstum.

Google hingegen hat es geschafft, in die meisten Märkte einzudringen, dank seiner internationalisierten Software. Da es leicht an eine Vielzahl von Regionen anpassbar ist, können interessante Informationen präsentiert werden, die den Anforderungen der Suchenden entsprechen, egal ob diese in Südafrika, den Vereinigten Staaten oder Russland sind.

Ähnlich sind das Android-Betriebssystem, der Google Chrome-Browser und zahlreiche andere Produkte alle effektiv internationalisiert, sodass sie leicht an die kulturellen und persönlichen Anforderungen der Nutzer angepasst werden können.

Wie wirkt sich i18n auf Entwickler aus?

Bei näherer Betrachtung des Codes gibt es mehrere bewährte Praktiken, die zu einer zuverlässigen und vertrauenswürdigen Internationalisierung beitragen.

Zur Veranschaulichung ein kurzer Blick auf WordPress. Etwa ein Drittel aller WordPress-Downloads entfällt auf lokalisierte, nicht-englische Versionen. Daher müssen Entwickler, die die verschiedenen WordPress-Plugins erstellen, dies mit Blick auf die Lokalisierung tun und sicherstellen, dass sie vollständig internationalisiert sind.

Das heißt zum Beispiel, dass keine PHP-Variablen innerhalb der Strings einer Übersetzungsfunktion verwendet werden sollten, weil Übersetzungssoftware normalerweise alle Strings scannt und die Teile herausfiltert, die übersetzt werden müssen, gekennzeichnet durch __().

Befindet sich eine PHP-Variable darin, könnte die Übersetzungssoftware versuchen, sie als übersetzbaren Inhalt zu erkennen, was möglicherweise zu einer versehentlichen Löschung durch einen Übersetzer führt. Das kann wiederum die gesamte Codezeile wertlos machen – ein Fehler, der schwer nachzuvollziehen sein kann.

Dies ist nur ein Beispiel dafür, wie Internationalisierung Entwickler beeinflussen kann, aber es gibt viele weitere Situationen, in denen die falsche Anwendung der Internationalisierung dazu führen kann, dass die Software nicht funktioniert oder unerwartete Ergebnisse liefert.

Weitere Praktiken, die im Rahmen der Internationalisierung standardisiert wurden, sind:

  • Softwarekomponenten sollten extern zum Quellcode gehalten werden (z. B. Benutzeroberfläche Kontrollen, Benutzermeldungen, Benutzereingabemethoden usw.).
  • Unicode verwenden
  • Sprachabhängigen Code nach Möglichkeit vermeiden
  • Der Code wird in separate Ressourcen-Dateien für jedes Locale verschoben, bevor er bereitgestellt wird
  • Unterschiedliche Textlängen zwischen den Sprachen berücksichtigen
  • Unterstützung aller Sprachrichtungen (von links nach rechts, von rechts nach links usw.)
  • Das Hardcoding von kultursensitiven Elementen (Datums- und Zeitformate, Zahlenformate usw.) vermeiden
  • Vermeidung von String-Verkettung

Beispielsweise sieht eine hardcodierte Zeichenfolge im Code einer Android-App so aus:

<TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="Ich bin ein fest codierter String"
     />Code-Sprache: Java (java)

Es sollte eher eine Referenz auf einen String gesetzt werden, statt einen festen String, so dass sich der Wert des Strings dynamisch ändert, wenn eine andere Sprache gewählt wird. In unserem Beispiel wäre das dann:

nameTextView.text = getString(R.string.reference)Code-Sprache: Java (java)

Genauso wichtig ist es, dass alle Strings in separaten Ordnern für jede Sprache gespeichert sind. Auf diese Weise wird das Hinzufügen und Modifizieren von Strings viel einfacher. Dabei muss nicht jede spezifische Zeichenfolge an jedem Ort im Code verfolgt werden. Es ermöglicht auch die Verwendung einer übersetzten Version, ohne dass der Code der App neu kompiliert werden muss.

Viele dieser Praktiken sind einfach genug, um sofort umgesetzt zu werden, während andere etwas mehr Zeit zur Überlegung erfordern. Alle werden jedoch dazu beitragen, sicherzustellen, dass die Software so effektiv und benutzerfreundlich wie möglich ist.

Fehlgeschlagene Internationalisierung (i18n)

Schlechte Internationalisierung (i18n) führt in der Regel zu schlechter Lokalisierung. Ein klassisches Beispiel ist, wenn nur die Preise auf einer E-Commerce-Seite lokalisiert werden, während die Produktbeschreibungen, Gewichte und Maße in der Originalsprache verbleiben.

Die Liste möglicher Stolpersteine ist lang – werfen wir einen Blick auf einige der häufigsten.

Falsche Maßeinheiten

Pfund, Fuß, Zoll und Unzen sind für viele nicht leicht umrechenbar, was dazu führt, dass die Website abschreckend wirkt, weil nicht klar ist, was genau angeboten wird.

Betrachten wir zum Beispiel Bekleidungshändler: Die gleiche Zahl kann in verschiedenen Ländern völlig unterschiedliche Größen bedeuten. Eine Größe 10 im Vereinigten Königreich entspricht Größe 38 in Europa. Eine Größe 38 in den USA wäre jedoch völlig anders – die europäische Größe 38 entspricht tatsächlich einer Größe 6.

Mit gutem Coding könnten Daten automatisch so umgewandelt werden, dass sie in der gewünschten Sprache und im kulturellen Kontext erscheinen – zumindest für die Hauptmärkte der Website. Gutes Coding muss schon zu Beginn des Entwicklungsprozesses starten.

Falsche Datums- und Zahlenformate

Außerdem werden in verschiedenen Teilen der Welt unterschiedliche Datumsformate verwendet. In den USA wird der 2. Januar als 1/2 geschrieben. Im Vereinigten Königreich wäre das der 1. Februar. Das kann einen großen Unterschied bei Lieferterminen machen und könnte ein entscheidender Faktor sein, ob Kunden bei uns kaufen möchten.

Zahlenlokalisierung ist eine weitere Herausforderung. In einigen Ländern werden Kommas verwendet, während in anderen Punkten für Dezimalstellen genutzt werden, und in manchen Sprachen ist ein Leerzeichen zwischen den Tausender- und Millionentrennzeichen erforderlich. Wenn es falsch gemacht wird, können wirklich seltsame und verwirrende Ergebnisse entstehen, die möglicherweise auf mangelnde Sorgfalt im Detail zurückgeführt werden.

Benutzeroberflächen-Steuerelemente, die nicht in allen Sprachen funktionieren

Und während wir dabei sind, sollten wir sprachabhängige Benutzeroberflächen-Steuerelemente in Betracht ziehen. Was passiert, wenn auf der Tastatur der Button fehlt, der genutzt wird, um einen bestimmten Teil der Benutzeroberfläche zu markieren? Wahrscheinlich wird einfach weitergesucht und eine andere Website oder App gefunden – eine, die funktioniert.

Der Einsatz von sprachunabhängigen Steuerungen ist deutlich nutzerfreundlicher und liefert wesentlich bessere Ergebnisse.

Unvollständige Übersetzungen

Teilübersetzungen sind oft auch das Resultat von mangelhafter Internationalisierung. In manchen Fällen sind Menüs möglicherweise nicht übersetzt, oder wichtige Kontaktinformationen sind nur auf Englisch verfügbar.

Layout und Design

Für verschiedene Kulturen werden auch unterschiedliche Layouts benötigt. Typischerweise ist ein minimalistisches Layout in vielen Ländern in Ordnung, aber in einigen, wie Japan, ist ein viel dichteres Layout üblicher.

A comparison of the Starbucks' website layouts for the US and Japan | Phrase
Compare Starbucks’ website layouts for the US and Japanese markets

Gute Internationalisierung bedeutet, dass verschiedene Produkte, Layouts und sogar Farben für unterschiedliche Zielgruppen präsentiert werden können, während schlechte Internationalisierung bedeutet, dass genau dasselbe Layout für alle verwendet werden muss. Schlechte Übersetzung ist oft ein Beispiel für schlechte Lokalisierung statt für Internationalisierung, aber es ist trotzdem wichtig zu wissen, dass diese beiden Themen eng miteinander verbunden sind.

Tiefer eintauchen

Definition of Done (DoD) für die Software-Internationalisierung

Erfahren, wie Software mühelos vorbereitet werden kann, um eine globale Benutzerbasis zu bedienen, und das eigene „Done“ für die Software-Internationalisierung definieren.

Schritte erkunden

Vorteile der Internationalisierung von Software, Apps oder Websites

Internationalisierung bietet eine Reihe von Vorteilen, die Nutzer glücklicher machen, die Arbeit der Entwickler erleichtern und Übersetzern helfen, Lokalisierung effizienter und effektiver durchzuführen.
Schauen wir uns die Hauptvorteile der Internationalisierung an:

Einfachere, schnellere und kostengünstigere Lokalisierung

Weil durch die Internationalisierung sichergestellt wird, dass Software von Beginn an mit der Lokalisierung im Hinterkopf entwickelt wird, reduziert sich der Aufwand für die Lokalisierung erheblich, wenn es an die Übersetzung der Software geht. Beispielsweise kann durch die Berücksichtigung von Textlängenvariationen über verschiedene Sprachen hinweg verhindert werden, dass Text aus dem dafür vorgesehenen Raum hinausläuft. Die Behebung solcher Probleme würde viel Zeit, Geld und Anstrengung erfordern.

Verbesserte Benutzererfahrung

Es wird erwartet, dass die Software weltweit in der jeweiligen Landessprache nutzbar ist. Genau das bietet die Internationalisierung: Indem Lokalisierungsanforderungen vorweggenommen und geplant werden, können Probleme mit der Lokalisierung vermieden werden, die zu schlechten Nutzererfahrungen führen könnten, wie beispielsweise nicht übersetzte Texte oder falsche Datumsformate.

Einfachere Wartung

Mit jeder Weiterentwicklung des Produkts sind unweigerlich Fehlerbehebungen und Verbesserungen erforderlich.

Ist die Internationalisierung korrekt umgesetzt, wird die Implementierung deutlich einfacher, da der übersetzbare Inhalt des Programms klar vom Code getrennt ist. Auf diese Weise können Übersetzer ihren Job parallel zur Softwareentwicklung erledigen – ein Prozess, der als kontinuierliche Lokalisierung bekannt ist – sodass die Software nach jedem Release schneller aktualisiert werden kann.

Kürzere Markteinführungszeit

Für jeden neuen Markt, den man erschließen möchte, ist eine lokalisierte Version der Software erforderlich. Dank der Zeit- und Aufwandseinsparungen durch eine gute Internationalisierung lassen sich lokalisierte Versionen der Software leichter und schneller entwickeln. Effizientes Lokalisierungsmanagement hilft dabei, die Markteinführungszeit zu verkürzen, den Umsatz zu steigern und mühelos global zu expandieren.

Tipps für eine erfolgreiche Internationalisierung

Jede erfolgreiche Implementierung beginnt mit einem Plan, und die Internationalisierung bildet da keine Ausnahme. Hier sind einige der Dinge, die bei der Planung der Internationalisierung berücksichtigt werden müssen:

  • Management-Unterstützung sichern: Indem gezeigt wird, wie die Internationalisierung in das größere Bild der Entwicklungs- und Expansionsstrategien des Unternehmens passt, kann Unterstützung für die Bemühungen gewonnen und der Erfolg sichergestellt werden.
  • Das Entwicklungsteam motivieren, von Beginn an ein globales Produkt zu schaffen: Es wird den Entwicklern der Grund für die Lokalisierung vermittelt und es werden Partnerschaften mit mindestens einem Mitglied jedes Entwicklungsteams gesucht, um sicherzustellen, dass gute Praktiken der Internationalisierung in die Prozesse des Teams integriert werden.
  • Dokument, Dokument, Dokument: Informationen können in Krisenzeiten oder unter Druck schwer zu bekommen sein. Es wird sichergestellt, dass alle Entscheidungen, die im Rahmen der Lokalisierungs- und Internationalisierungsbemühungen getroffen wurden, dokumentiert sind.
  • Internationalisierungsbemühungen validieren: Es ist zwar nicht möglich, jeden einzelnen Code in der Software für alle Sprachen der Welt vollständig zu testen, aber pseudolokalisierte Dateien können erstellt werden, bevor die Lokalisierer einbezogen werden – eine Pseudosprache wird verwendet, um alle lokalisierbaren UI-Elemente zu ersetzen und das Verhalten der Software in verschiedenen Sprachen zu überprüfen.
  • Internationale Best Practices im Blick behalten: Es muss nicht alles neu erfunden werden; es ist wichtig, dass das Entwicklungsteam die von der Branche anerkannten besten Praktiken für die Internationalisierung kennt, um häufige Fehler bei der Software-Lokalisierung zu vermeiden.
  • Die Tatsache akzeptieren, dass Perfektion unerreichbar ist: Es ist praktisch unmöglich, eine fehlerfreie Internationalisierung zu garantieren, aber es ist leicht, nahe dran zu kommen. Gute Internationalisierung, die für Kunden funktioniert, ist besser als gar keine Internationalisierung.
  • Am besten, Lokalisierungsspezialisten so früh wie möglich einbeziehen: Viele Probleme mit der Internationalisierung werden schon erkannt, bevor sie überhaupt bei den Übersetzern landen, wenn Personen mit Erfahrung in der Lokalisierung bereits an der Design- und Umsetzungsphase beteiligt sind.

Was gute Internationalisierung (i18n) bedeutet

Letztendlich sorgt die Internationalisierung dafür, dass Software oder Websites in verschiedenen geografischen Regionen und Kulturen funktionieren. Das bedeutet, dass jeder Text übersetzbar sein sollte und dass kein Code darauf angewiesen sein sollte, dass Text in einer bestimmten Sprache oder einem bestimmten Alphabet eingegeben wird. Ist die Software richtig internationalisiert, können Preise in der entsprechenden Währung angezeigt und Daten in einem Format dargestellt werden, das für den Zielmarkt sinnvoll ist.

Vor allem bedeutet eine gut durchgeführte Internationalisierung mit der richtigen Software, dass das Softwareprodukt ohne Bedenken an das Übersetzerteam übergeben werden kann. Die Übersetzung kann sofort beginnen und das Produkt kann zurückgegeben werden, ohne dass Änderungen am Code erforderlich sind. Das macht die Softwareentwicklung viel einfacher, das Lösen von Bugs unkomplizierter und Updates noch schneller – wenn nur der Quellcode und nicht die Übersetzung aktualisiert werden muss, bedeutet das auf lange Sicht eine erhebliche Zeit- und Geldersparnis.