Softwarelokalisierung wird komplexer: Mehr Sprachen, mehr Plattformen, mehr Endgeräte, immer kürzere Zyklen

KomplexitätManch einer mag denken, dass in Sachen Softwarelokalisierung bereits so gut wie alles gesagt worden ist. Professionelle Entwickler wissen, wie man Code und zu übersetzende Texte trennt, wie man Dateien für den Übersetzungsprozess vorbereitet und professionelle Übersetzer kennen die Methoden und Tools, um Strings zu lokalisieren.

Anzahl von Programmiersprachen, Hardwareprodukten und Plattformen nimmt zu

Dieser Eindruck trügt. Seit wenigen Jahren explodiert sowohl im industriellen als auch im privaten Bereich (Unterhaltungselektronik, Spiele) die Anzahl von Programmiersprachen, Plattformen und Hardwareprodukten. Sie alle enthalten zu lokalisierende Inhalte. Neue Anforderungen an Entwickler und Übersetzer sind die Folge. Im Wesentlichen sind folgende Aspekte betroffen:

  • Wachsende Anzahl der Sprachen: Windows 10 kommt im Sommer in 111 Sprachen heraus. Neben der Frage der benötigten Ressourcen für mehr Sprachen geht es auch um linguistische und softwaretechnische Aspekte wie die Erkennung von Wortgrenzen, unterschiedliche Sortierungsmechanismen, Bidirektionalität und vieles mehr.
  • Wachsende Anzahl von Produkten und Geräten: Der Opera Mobile Store bietet heute 300.000 Apps und Spiele für mehr als 7.500 verschiedene Modelle mobiler Telefongeräte. Tragbare Technologien wie die Apple Watch sind im Kommen. Dieser Trend betrifft auch Maschinen, Geräte, Autos und Embedded Devices. Industrie 4.0 oder das Internet der Dinge ist voll im Gange.
    Es wird geschätzt, dass im Jahr 2020 die Zahl der vernetzten „Dinge“ bei 50 Milliarden liegen wird. Und diese Dinge sprechen nicht nur miteinander, sondern interagieren mit Benutzern und müssen daher mit ihnen Informationen in natürlichen Sprachen austauschen.
  • Kurzlebigkeit der Softwareprodukte und Geräte: Der Designwechsel bei Tablets und Smartphones erfolgt immer schneller, sodass Programmierer (und folglich auch Übersetzer) mit dieser Entwicklung immer schneller Schritt halten müssen.
  • Explosion der Mengen an zu übersetzendem Content: Zum einen gibt es deutlich mehr Informationen, die in verschiedenen Sprachen lokalisiert werden müssen. Zum anderen aber findet man zunehmend Projekte mit einer relativ kleinen Wortzahl und kurzen Bearbeitungszeiten. Das ist insbesondere bei der Lokalisierung kleinerer Apps der Fall. Wie man regelmäßig, schnell und wirtschaftlich 100-400 Wörter in 30 Sprachen lokalisieren kann, ist eine der resultierenden Herausforderungen.
  • Vielfalt der Betriebssysteme und Programmiersprachen: Microsoft, Android, Linux, Symbian, Mac iOS, Xcode, .NET, Qt, Java sowie unzählige Sondersprachen, die für spezielle Aufgaben oder Branchen entwickelt worden sind. Jede Umgebung bereitet den zu lokalisierenden Content anders vor.
  • Integration diverser Technologien und Übernahme neuer, komplexerer Funktionalität in Anwendungen und Dokumentationen: Neue Formen der Interaktion zwischen Geräten bzw. zwischen Mensch und Maschine stellen Entwickler und Übersetzer vor neuen Herausforderungen. Touchscreens, virtuelle Realität, gesprochene Befehle, vielfältige Formen der Vernetzung sind nur einige Beispiele davon.

Lokalisiert wird eine Vielzahl von Datenformaten

Lokalisiert werden alle möglichen Datenformate: Ressourcen-, XML-, TXT-, XLS(X)-, PO-, JSON-, HTML5-Dateien, um nur einige zu nennen. Sie enthalten Oberflächentexte, Menütexte, Meldungen, Daten, Listen und einiges mehr.

Platz auf Display ist beschränkt

Eine der vielen großen Herausforderungen beim Lokalisieren liegt in der korrekten Darstellung der Texte auf der manchmal relativ kleinen Oberfläche. Manche Applikationen lassen eine dynamische Anpassung der Texte am verfügbaren Platz im Display und auf Schaltflächen zu, während andere mit fest positionierten und dimensionierten Objekten arbeiten. Auf einem modernen Tablet oder Smartphone kann man mit einer Fingerbewegung den Text vergrößern.

Gemeinsamer Export von Strings und Layoutinformationen nicht immer möglich

Nicht alle Programmiersprachen exportieren wie bei den Ressourcendateien von .NET-Applikationen Strings und Layoutinformationen gemeinsam. In der Folge kann der Übersetzer in seinem Lokalisierungswerkzeug den zu übersetzenden Dialog nicht sehen oder ändern. Er erhält weniger Kontextinformationen und die Überprüfung der maximalen Übersetzungslänge wird sich schwieriger gestalten, falls erforderlich.

Übersetzungsprozesse nicht standardisierbar

LabyrinthEs gibt keinen einheitlichen standardisierten Lokalisierungsprozess, der für alle Softwareprodukte gilt. Man kann allerdings einige Gemeinsamkeiten erkennen, die wir hier zusammenfassen:

Software so entwickeln, dass sie lokalisierbar ist

Zuerst wird ganz früh in der Planungsphase die Software so spezifiziert, dass sie lokalisierbar ist. D. h., sie wird bereits für den Einsatz in verschiedenen Märkten, Sprachen und Kulturen konzipiert. Das bedeutet triviale Fragen wie die Anpassung von Währungen, Kalender oder die Darstellung von Sonderzeichen, aber auch komplexere Fragen wie die Bidirektionalität von Texten oder die Umsetzung eines unterschiedlichen Scrollverhaltens.

Text nicht hart codieren und exportierbar machen

Die Programmierer sorgen dafür, dass der zu übersetzende Text nicht hart codiert ist und in Übersetzungsdateien ausgelagert werden kann. Der Übersetzer erhält diese Dateien in einem der verfügbaren Formate und kann sie in seinem Übersetzungssystem bearbeiten.
Zu den gängigen Lokalisierungswerkzeugen zählen Produkte wie SDL Passolo, Alchemy Catalyst, Visual Localize, Multilizer, Sisulizer, um nur einige zu nennen.

Qualitätssicherung ist unerlässlich

Nach dem Übersetzen erfolgt die Qualitätssicherung. Das betrifft nicht nur rein sprachliche Aspekte, sondern beinhaltet auch eine Funktionalitätsprüfung und eine technische Prüfung: Lässt sich die fremdsprachige Version kompilieren? Funktionieren die Shortcuts in der Fremdsprache? Sind alle fremdsprachigen Texte in der Oberfläche sichtbar usw.?

Für manche Typen von Lokalisierungsprojekten besteht die Möglichkeit, die lokalisierten Produkte zu emulieren. Das ist z. B. bei vielen Apps für Smartphones und ähnliche Geräte der Fall. Programmierumgebungen wie Android Studio enthalten Emulatoren und Plugins, mit denen man in einem frühen Stadium prüfen kann, wie sich die lokalisierte Oberfläche verhält.

Translation-Memorys nicht blind verwenden, sondern prüfen

Die zu übersetzenden Texte stellen für Übersetzer einige Herausforderungen dar, und Entwickler können sich viel Nacharbeit sparen, wenn sie vor Projektvergabe einige Punkte beachten. Es ist keine Seltenheit, dass ein und derselbe Befehl unterschiedlich übersetzt werden soll, je nachdem um welchen Kontext es sich handelt. Ein englischer Befehl wie „open“ wird mit „Öffnen“ übersetzt, wenn es sich um eine Datei handelt und mit „Aufbauen“, wenn es um eine Internetverbindung geht. Man muss daher sehr vorsichtig sein, wenn man aus Translation-Memorys oder aus anderen Quellen ohne Weiteres vorhandene Übersetzungen wiederverwendet.

Platzhalter und Konkatenierung schaffen Probleme

Die bei Programmierern beliebte Verwendung von Platzhaltern oder vom Konkatenierungsverfahren (getrennte Strings werden dynamisch zusammengesetzt) ist auch mit Vorsicht zu genießen, da Sprachen unterschiedlichen grammatikalischen und syntaktischen Regeln unterliegen.

Eine dynamische Meldung wie „Only %1 MB are free on drive %2.“ wird im Deutschen umgebaut: „Auf Laufwerk %2 sind nur noch %1 MB frei.“ Vorsicht ist ebenso bei Platzhaltern geboten, die in manchen Sprachen flektiert werden sollen (z. B. Englisch „active“, Deutsch „aktiv“, Französisch „actif, active, actifs, actives“).

Lokalisierungsprojekte sind organisatorisch und wirtschaftlich schwierig

Nicht nur aus sprachlicher und technischer Sicht sind heutige Lokalisierungsprojekte komplex. Organisatorisch und wirtschaftlich stellen sie ebenfalls die Projektmanager vor schwierige Entscheidungen. Wie lassen sich viele Teilnehmer effizient koordinieren und informieren, wie oft sollen in einem Lokalisierungsprojekt Strings an den Übersetzungsdienstleister geschickt werden (Stichwort: Agile Programmierung)?

Kann der große technische und organisatorische Aufwand für Miniprojekte in 20 oder 30 Sprachen mit einem Wortpreis abgegolten werden? Das sind einige der zu lösenden Fragen.

Zunehmende Komplexität vervielfacht mögliche Fehlerquellen

Angesichts der wachsenden Komplexität von Projekten, an denen nicht nur mehr Leute teilnehmen, sondern die auch mehr Technologien, Datenformate und Arbeitsschritte in vielen Sprachen einbinden, lauert der Fehlerteufel an deutlich mehr Stellen als noch vor wenigen Jahren. Daher ist die Wahl eines kompetenten Dienstleisters umso wichtiger, der die entsprechenden Technologien und Prozesse beherrscht.

[Text: D.O.G. GmbH. Quelle: D.O.G. news 3/2015. Wiedergabe mit freundlicher Genehmigung von Dr. François Massion. Bild: alphaspirit / Fotolia, SSilver / Fotolia.]

WordPress theme: Kippis 1.15