OS X Software internationalisieren


Die Sprache der Computer und Programmentwicklung ist englisch. Das wirft dann die Frage auf wie bekomme ich mein anständig auf englisch entwickeltes Programm dazu deutsche Texte zu verwenden. Das sollte selbstverständlich mit geringem Aufwand zu bewerkstelligen sein. Das am besten mit den vorhandenen Bordmitteln.

Lösung

In der NS (NS steht für NextStep) Bibliothek wird ein Makro zur Verfügung gestellt. Mit der Hilfe dieses Makro’s können die bereitgestellten Texte durch die der nativen Sprache ersetzt werden. Da das Foundation Framework sehr umfangreich ist wird das Makro in verschiedenen Ausprägungen zur Verfügung gestellt. Die Standard Version ist NSLocalizedString. Mit dieser Version wird anstelle des normalen Textes ein Platzhalter angegeben. Über diesen Platzhalter wird dann der auszugebende Text geholt.

Das Makro „NSLocalizedString(@“Message“, @“Comment“) würde  den Text „Message“ ausgeben. Wenn allerdings eine Internationalisierungsdatei vorhanden wäre, würde der Text „Message“ durch die jeweilige Anpassung ersetzt. Wäre also eine Datei „de.lproj“ an der richtigen Stelle vorhanden könnte die Ausgabe „Nachricht“ lauten.
In der Datei „de.lproj“ muss dafür die Zeile Message=Nachricht stehen. Wogegen in der original englischen Datei „en.lproj“ die Zeile Tag=Message steht.

Xcode

Voraussetzung für die Lokalisierung eines Projekts ist die Erweiterung des Projekts in Xcode-Projekts. Es muss zu der immer vorhandenen englischen Sprachanpassung die neue Sprache hinzugefügt werden. Das wird in der Projektansicht von Xcode erledigt.

Nach dem der Plus-Knopf angeklickt wurde zeigt Xcode die möglichen Dateien die lokalisiert werden können an. Wenn zuviel oder unnötige Dateien angezeigt werden kann durch Deselektierung  in diesem Dialog die jeweilige Datei ausgespart werden.
Die zuvor angebotenen Dateien stehen ab sofort in dem Projekt zu Lokalisierung bereit. In dem linkem Fenster wir dies durch das kleine Dreieck angezeigt. Ein Klick darauf klappt die Dateien auf und zeigt die möglichen Übersetzungen. 
Bei den einfachen Textdateien ist nun die Übersetzung problemlos möglich. 

Sonderfall XIB

Die XIB-Dateien erfordern  eine großen Aufwand. So ist hier keine direkte Übersetzung möglich. Es besteht die Möglichkeit die Benutzeroberfläche komplett in der neuen Sprache zu erstellen. Doch dieser große Aufwand ist in der Regel nur bei kleinen bis sehr kleinen Projekten zu vertreten. In der Regel machen Programmieren genauso ungern Übersetzungen wie Dokumentationen. So ist davon auszugehen das dieser Weg im wirklichen Leben nie beschritten wird.
Von Apple wird ein Kommandozeilen Werkzeug zur Verfügung gestellt. Dieses Programm extrahiert die zu übersetzenden Zeichenkette aus der XIB Datei. Die so gewonnen Zwischendateien können gut Übersetzt werden. Auch hier ist etwas Aufwand nötig.
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s