Startseite » Tutorials » iOS-Lokalisierungsratgeber für mehrsprachige iPhone-Apps

iOS-Lokalisierungsratgeber für mehrsprachige iPhone-Apps

iOS-Lokalisierungsratgeber für mehrsprachige iPhone-Apps

Dieser Ratgeber zeigt Ihnen, wie Sie eine einsprachige, mit Xcode erstellte iOS-Anwendung zu einer mehrsprachigen Anwendung machen.

Inhalt:

  1. Quellen in Xcode lokalisierbar machen
  2. Lokalisierung der Interface Builder-Dateien
  3. Sammlung eingebetteter Texte in Quelldateien
  4. Übersetzung der Quelldateien
  5. Importieren der Übersetzung in die iOS-Anwendung
  6. Test der Übersetzung auf einem iOS-Gerät

 

Starten Sie jetzt die Übersetzung

Sie brauchen eine Übersetzung für Ihre iOS-App?

ICanLocalize bietet professionelle Übersetzungen für iOS-Apps.

Laden Sie Ihre Quelldatei hoch und erhalten Sie ein endgültiges Angebot, gleich jetzt.

iOS-Quelldatei:

Dateiformat:

Aus der Sprache:

In die Sprache:

Sie haben schon Übersetzer?

Sie können unser Übersetzungssystem gern kostenlos benutzen und so Zeit bei der Verwaltung und Koordination Ihrer Anwendung sparen.

Gratis-Übersetzungssystem für mobile Apps »

Einleitung

Um eine iOS-Anwendung zu lokalisieren, sind folgende Schritte nötig:

  1. Vorbereitung Ihrer Quelldateien auf die Lokalisierung.
  2. Sammlung aller in der Anwendung benutzten Texte in Quelldateien.
  3. Übersetzung der Quelldateien.
  4. Erneute Integration der Quelldateien in die Anwendung.

Da iOS-Apps per Design mehrsprachig sind, weiß das Gerät bereits, was zu tun ist, sobald Ihre Anwendung in mehreren Sprachen verfügbar ist. Es wird die Texte der grafischen Benutzeroberfläche in der richtigen Sprache anzeigen, gemäß der Spracheinstellungen des Geräts.

Alle iOS-Anwendungen werden mit Unicode-Texten erstellt und als UTF-16 kodiert. Die iPhone- und iPad-Simulatoren unterstützen dieses Format und ermöglichen Ihnen eine Vorschau Ihrer übersetzten Anwendung.

1. Quellen in Xcode lokalisierbar machen

Xcode muss wissen, dass Ihr Projekt mehrsprachige Quelldateien enthält.

Die einfachste Möglichkeit, eine Datei mit Xcode lokalisierbar zu machen, ist die Datei einfach aus dem Projekt zu entfernen und sie im Finder in das lokalisierte Verzeichnis zu verschieben. Achten Sie darauf, auf „Referenzen löschen“ zu klicken und nicht auf „Auch in den Papierkorb verschieben“, wenn Sie die Datei aus Ihrem Projekt entfernen, damit die Datei selbst nicht gelöscht wird, sondern nur die Referenz auf die Datei im Projekt entfernt wird.

Wenn Ihre Quelldateien auf Englisch sind, erstellen Sie einen neuen Ordner namens en.lproj im Ordner Ihres Projekts. Wenn Ihre Quelldateien in einer anderen Sprache sind, ersetzen Sie das en durch den aus zwei Buchstaben bestehenden Ländercode.

Verschieben Sie die Quelldatei in das neue Lokalisierungsverzeichnis und ziehen Sie die Quelle dann in das Xcode-Projekt. Xcode wird die Quelle in dieser Sprache als lokalisiert erkennen. Wiederholen Sie dies für all Ihre anderen Quelldateien, die lokalisiert werden müssen.

2. Lokalisierung Ihrer Interface Builder-Dateien

Extrahieren der Strings

Um die Strings auf Ihren Interface Builder-Quelldateien zu extrahieren, müssen Sie ein Tool wie ibtool nutzen, das in der Standard-Entwickler-Kit-Installation enthalten ist.

Um die Dateien zu extrahieren, öffnen Sie das Terminal im Projektverzeichnis und führen Sie folgenden Befehl aus:
ibtool --generate-strings-file Example.strings en.lpoj/Example.xib
Dies wird die Datei Example.strings erstellen. Wenn Sie sie öffnen, sehen Sie eine Reihe object-string-Wertpaare.

Gehen Sie dieses Dokument sorgfältig durch und prüfen Sie seinen Inhalt. Sie können unnötige Strings entfernen, die keine Übersetzung benötigen.

Umgang mit doppelten Strings

Die Quelldatei kann doppelte Strings enthalten, zum Beispiel einige der Titel für Buttons in verschiedenen Zuständen.

Einige doppelte Strings müssen nur einmal übersetzt werden, andere doppelte Strings haben jedoch andere Übersetzungen. Derselbe Button-Titel sollte in verschiedenen Zuständen ganz klar dieselbe Übersetzung haben. Strings können jedoch zum Beispiel in einem Fall ein Nomen sein und in einem anderen ein Verb.

Sie können überflüssige doppelte Strings (die dieselbe Übersetzung haben sollten) aus der Quelldatei entfernen oder sie drin lassen und dem Übersetzer sagen, dass er diese wie doppelte Strings bearbeiten soll.

Das iOS-Übersetzungssystem von ICanLocalize kann doppelte Strings automatisch aus Quelldateien entfernen und Ihnen diese Aufgabe erleichtern.

3. Sammlung der eingebetteten Texte in Quelldateien

Normalerweise enthalten iOS-Anwendungen zwei Arten von Text. Es gibt die Oberfläche der Anwendung (verwaltet vom Interface Builder) und eingebettete Strings, die inline im Code selbst erscheinen.

Die Strings in der Oberfläche sind bereits in einer Quelldatei angeordnet und wir müssen darauf achten, dass der Code selbst nur Strings benutzt, die auch von einer Quelldatei ausgelesen werden.

Ein Inline-String würde so aussehen:

@"Hallo Welt!"

Wir müssen die Quelldateien bearbeiten und alle inline-Strings ändern, damit sie so aussehen:

NSLocalizedString(@"Hallo Welt", @"Hallo-Meldung")

Jetzt ist „Hallo Welt“ eigentlich ein Token. Die Funktion NSLocalizedString erzeugt den String, der ausgegeben wird. Sie gibt den lokalisierten String gemäß der Sprache der Anwendung aus. NSLocalizedString liest die Datei Localizable.strings aus dem Lokalisierungsverzeichnis aus.

Gehen Sie Ihren gesamten Code durch und legen Sie fest, welche Strings der Nutzer sieht und daher lokalisiert werden sollten. Lokalisieren Sie keine Strings, die der Nutzer nie zu Gesicht bekommt, wie Schlüssel in einem NSDictionary (es sei denn natürlich, Sie zeigen diese Schlüssel an).

Hinzufügen von Kommentaren

Haben Sie diese „Hallo-Meldung“ bemerkt (das zweite Argument)?

Dies ist ein Kommentar, der in der Quelldatei erscheint und auch für den Übersetzer sichtbar ist. Es ist sehr wichtig, an Stellen im Text, die sich nicht von selbst erklären, Kommentare einzufügen. So weiß der Übersetzer, der Ihre Anwendung übersetzt, wofür der Text verwendet wird und wie er ihn richtig übersetzen muss.

Erstellung einer Localizable.strings-Datei

genstrings sammelt alle Strings, die übersetzt werden müssen, aus der Quelldatei und erstellt die Datei Localizable.strings. Um sie auszuführen, öffnen Sie Terminal, gehen Sie ins Projektverzeichnis und führen Sie Folgendes aus:

genstrings -o en.lproj *.m

Dies wird alle Schlüssel aus den NSLocalizedString-Befehlen extrahieren und sie in einer Localizable.strings-Datei im Verzeichnis en.lproj localization kompilieren. Wenn Ihre Klassendateien in einem anderen Verzeichnis liegen, achten Sie darauf, sie am Ende dieses Befehls einzubeziehen (z. B. Klassen/*.m).

4. Übersetzung der Quelldateien

Jetzt sollten Sie zwei Quelldateien haben. Die Interface Builder-Quelldatei (erstellt von ibtool) und die eingebettete Strings-Quelldatei (erstellt von genstrings).

Sie können beide Dateien zur Übersetzung an ICanLocalize einsenden.

Wir haben ein besonderes Tool für die Lokalisierung von iOS-Quelldateien, das die Übersetzung von iOS-Anwendungen ganz ohne Zeitaufwand für technische Aufgaben ermöglicht. Das Tool wird Ihre Quelldateien lesen, die Texte extrahieren, die übersetzt werden müssen, und übersetzte Quelldateien erstellen.

Sie können die Quelldateien in der Kodierung UTF-16 oder UTF-8 hochladen. Das Tool wird Label- und String-Paare extrahieren (sowie Kommentare, sofern vorhanden). Professionelle Übersetzer, die weitreichende Erfahrung in der Lokalisierung von iOS-Anwendungen haben, werden nur die Strings übersetzen. Sie können direkt mit Ihren Übersetzern kommunizieren, um sicherzustellen, dass die Übersetzung nicht nur präzise, sondern auch an die Kultur und Bräuche anderer Länder angepasst ist.

Sie müssen einen Account erstellen (gratis). Erstellen Sie dann ein iOS-Übersetzungsprojekt, laden Sie Ihre Quelldateien hoch, wählen Sie aus, in welche Sprachen übersetzt werden soll, und zahlen Sie für die Übersetzung. Sobald die Übersetzung abgeschlossen ist, können Sie die lokalisierten Quelldateien herunterladen und wieder in Ihre Anwendung importieren.

Und selbst lange nach Fertigstellung der Übersetzung helfen unsere Übersetzer Ihnen gern, wenn Sie den Text aktualisieren oder korrigieren wollen.

5. Importieren der Übersetzung in die iOS-Anwendung

Erstellung der lokalisierten xib-Datei

Sobald Sie Ihre übersetzten Strings zurückerhalten, öffnen Sie erneut Terminal und erstellen Sie darin eine lokalisierte Kopie dieser xib-Datei.

Achten Sie als erstes darauf, ein Verzeichnis für die Lokalisierung zu erstellen, die Sie gerade erhalten haben, zum Beispiel „fr.lproj“. Verschieben Sie die Datei mit den übersetzten Strings in das Lokalisierungsverzeichnis.

Angenommen Ihre Quellsprache war Englisch, dann rufen Sie Ihr Projektverzeichnis auf, öffnen Terminal und führen Folgendes aus:

ibtool --strings-file fr.lproj/Example.strings en.lproj/Example.xib –write fr.lproj/Example.xib

Dies wird die englisch lokalisierte Interface Builder-Datei in das andere Lokalisierungsverzeichnis kopieren und dann die Werte aller Objekte durch die in der Datei mit den übersetzten Strings ersetzen.

Sie haben nun eine lokalisierte .xib, aber die Datei ist noch nicht startklar.

Hinzufügen der lokalisierten Datei zu Xcode

Ziehen Sie die frisch lokalisierte .xib-Datei in Xcode in Ihr Projekt. Achten Sie darauf, die Datei nicht in die vorhandene Lokalisierung zu ziehen. Die lokalisierte .xib-Datei sollte in die Gruppierung gehen, die die anderen Lokalisierungen dieser Datei enthält.

Richtiger Ort zum Ablegen der .xib-Datei (klicken zum Zoomen) Falscher Ort zum Ablegen der .xib-Datei (klicken zum Zoomen)
Richtiger Ort zum Ablegen der .xib-Datei Falscher Ort zum Ablegen der .xib-Datei

Prüfung der übersetzten Interface Builder-Datei

Öffnen Sie die übersetzte Datei im Interface Builder und gehen Sie alles durch. Oft ändert sich die Länge der verschiedenen Strings deutlich. Eine Übersetzung vom Englischen ins Deutsche oder Französische ist häufig 50 % länger als der Originaltext. Sie müssen das Layout leicht anpassen, um sicherzustellen, dass alles sichtbar ist.

Wenn Sie manuell Duplikate entfernt haben, ist jetzt die Zeit, sie wieder einzufügen, indem Sie die übersetzten Strings duplizieren. Wenn zum Beispiel zwei Buttons denselben Titel hatten und Sie zuvor einen der Buttons aus der .strings-Datei entfernt hatten, müssen Sie den übersetzten Titel des Buttons nun kopieren.

Sie müssen dies nur tun, wenn Sie die .strings-Datei vor der Einsendung der Übersetzung bearbeitet haben. Das System von ICanLocalize entfernt bereits Duplikate aus der Übersetzung und fügt sie in die übersetzte Quelldatei wieder ein.

Ihre iOS-Anwendung sollte jetzt mehrsprachig laufen! Doch warten Sie, einen Schritt gibt es noch.

6. Test der Übersetzung auf einem iPhone- oder iPad-Gerät

Wenn alles erledigt ist, haben Sie eine mehrsprachige Anwendung.

Um sie direkt auf dem Handy zu testen, müssen Sie die Sprache des Geräts ändern. Befolgen Sie dazu bitte Apples Tutorial zum Umschalten von iPhone-Sprachen.

Sie sind schon fast so weit, dass Sie die App veröffentlichen können, denken Sie nur daran, sie zu testen.

Hier sind einige Dinge, auf die Sie achten sollten:

Fallstrick Was passieren kann Wie Sie es beheben
Die übersetzten Strings fließen aus dem Bildschirm Deutsch, Französisch Spanisch und andere europäische Sprachen sind meist 120 % bis 150 % so lang wie englische Texte. Asiatische Sprachen sind in der Regel 50 % bis 70 % so lang. Sie sollten die grafische Benutzeroberfläche an Strings in verschiedenen Längen anpassen. Das iOS-Lokalisierungssystem von ICanLocalize prüft die Stringlängen und warnt bei Strings, die entweder zu lang oder zu kurz sind.
Fehlende Formatierungszeichen Viele Strings enthalten Platzhalter für Daten, wie %s für Text und %d für Zahlen. Andere Strings enthalten HTML-Code. Wenn die Übersetzung nicht dieselbe Formatierung enthält, treten Fehler in der Anwendung auf. Unser Übersetzungssystem ermöglicht es Ihnen, ‚obligatorische‘ Sequenzen anzugeben. So wird sichergestellt, dass die Übersetzungen dieselben Sequenzen wie die Originale enthalten. Ansonsten sollten Sie alle Strings manuell prüfen und sichergehen, dass die Formatierungszeichen übereinstimmen.
Übersetzung im falschen Kontext Es kann immer sein, dass der Übersetzer die Bedeutung eines Strings nicht exakt verstanden hat. Häufiger passiert dies, wenn Anwendungen kurze und nichtssagende Strings enthalten. Senden Sie dem Übersetzer eine komplette Beschreibung der Anwendung, bevor er mit dem Auftrag beginnt. Wenn die Übersetzung fertig ist, machen Sie Screenshots der Anwendung und senden Sie diese für eine letzte Korrektur ein. Fügen Sie den Strings Kommentare hinzu, um sicherzustellen, dass Sie eine ausgezeichnete Übersetzung erhalten.

Fehlerbehebung

Wenn Strings in Ihrer Localizable.strings-Datei in der übersetzten Datei vorhanden sind, aber auf dem Gerät nicht lokalisiert werden, überprüfen Sie die Zeichenkodierung der Datei.

Anders als der iPhone-Simulator erkennt das Gerät nur String-Dateien, die in UTF-16 formatiert sind. Testen Sie Ihre Lokalisierungen immer auf dem Gerät, denn der Simulator und das Gerät verhalten sich nicht immer gleich.

Die übersetzten Quelldateien, die Sie von ICanLocalize herunterladen, sind UTF-16 kodiert. Sie befinden sich in gzip-Archiven, um sicherzustellen, dass Ihr Browser sie beim Herunterladen nicht verändert.

Aktualisierung der Übersetzung, wenn die iOS-Anwendung sich weiterentwickelt

ICanLocalize macht es Ihnen einfach, Ihre Übersetzungen aktuell zu halten. Wenn die Anwendung sich aktualisiert, werden neue Strings erstellt und schon vorhandene Strings können sich ändern.

Um die Übersetzungen zu aktualisieren, führen Sie erneut genstrings aus, um eine neue Localizable.strings-Datei zu erstellen. Führen Sie dann wieder ibtool aus, um neue String-Dateien zu generieren.

Laden Sie schließlich die neuen Quelldateien in Ihr vorhandenes Projekt bei ICanLocalize hoch. Das System wird neue oder geänderte Strings erkennen und nur diese übersetzen lassen. Sie müssen nur für die Aktualisierung der Übersetzung zahlen und sie nicht komplett neu erstellen.

Hinweis: Wenn sich ein String ändert, muss er komplett neu übersetzt werden. Um die Kosten für die Aktualisierung der Übersetzungen zu reduzieren, empfehlen wir, große Strings in mehrere kleinere aufzuteilen. Wenn Sie dann etwas ändern, muss nur ein kleinerer Teil neu übersetzt werden und Ihnen entstehen geringere Kosten. Die Strings sollten lang genug sein, um für sich verständlich zu sein, aber nicht zu lang, damit ihre Aktualisierung nicht teuer ist.

Brauchen Sie eine Übersetzung für Ihre iOS-Anwendung?

ICanLocalize bietet professionelle Übersetzungen, die für iOS-Anwendungen optimiert sind. Wir können Ihnen helfen, Ihre App schnell, einfach und zu geringen Kosten mehrsprachig zu machen.

Professionelle Übersetzer, die in ihrer Muttersprache schreiben, werden Ihre Anwendung übersetzen und Ihnen helfen, weltweit mehr Umsätze zu erzielen.


„Ich habe ICanLocalize verwendet, um meine iOS-Gärtner-App, Plant Album, zu übersetzen. Ich hatte den Service schon früher genutzt und bin immer noch beeindruckt über das professionelle Team, die Qualität der Übersetzungen und die benutzerfreundliche Website. Sehr zu empfehlen für benötigte Lokalisierungen aller Art!“

“Wir nutzen ICanLocalize seit 2012 und es hat unseren Arbeitsablauf hinsichtlich der Übersetzung unserer Inhalte für verschiedene Märkte wirklich vereinfacht. Wir müssen nicht mehr auf die Suche nach Übersetzern für verschiedene Sprachen gehen, ihnen beibringen, wie sie die Übersetzungs-Tools benutzen sollen, Rechnungen einzeln begleichen usw., denn all diese Aufgaben übernimmt ICanLocalize für uns! Wir nutzen die Dienste von ICanLocalize zur Übersetzung unserer Websites, Apps, Newsletter und anderen Marketing-Materialien, und können uns immer auf eine schnelle Erledigung verlassen. Mir ist klar, dass diese Aussage sich wie eine bezahlte Werbeanzeige oder so anhört, doch ich habe wirklich nur die Wahrheit und meine ehrliche Meinung geschrieben! Ich würde ICanLocalize jederzeit weiterempfehlen!“

„ICanLocalize ist die beste Lösung für schnelle und qualitativ hochwertige Übersetzungen unserer App. Wir nutzen seine Dienste in allen unseren Anwendungen – mit guten Ergebnissen und positivem Feedback unserer Nutzer. Ich kann Ihnen nur empfehlen, es für Ihre Anwendungen einzusetzen.“

 

plant„ICanLocalize zu verwenden war unglaublich einfach. Die Übersetzer sind sehr hilfsbereit und der Übersetzungsvorgang ist unkompliziert. Der Service ist für Entwickler aller Unternehmensgrößen erschwinglich und ICanLocalize hat uns geholfen, mehr Kunden zu erreichen, als je zuvor.“

Coloring book„ICanLocalize hat mir geholfen, tonnenweise Zeit zu sparen, denn der Service bietet Übersetzer für alle Sprachen an und man kann die Übersetzungen auch gleich von anderen Übersetzern Korrektur lesen lassen, um sicherzugehen, dass sie akkurat sind. Die größte Hilfe, die ICanLocalize bietet, ist die Möglichkeit, meine String-Dateien aus xcode direkt in die Website hochzuladen. Wenn die Übersetzer dann fertig sind, kann ich meine String-Dateien in meinem Projekt einfach ersetzen und schon ist alles fertig.“


Wenn Sie sich überlegen, dieses Tutorial zu übersetzen und neu zu veröffentlichen, kontaktieren Sie uns bitte zuerst. Erzählen Sie uns, wo Sie es veröffentlichen wollen, und schreiben Sie uns ein paar Worte über sich.