iOS SDK Lokalisierung mit NSLocalizedString

Der App Store ist ein globaler Markt, und durch die Lokalisierung Ihrer App können Benutzer in anderen Ländern diese eher herunterladen und genießen. In diesem iOS-Lernprogramm erfahren Sie, wie Sie den Text in Ihrer App für weitere Sprachen lokalisieren können.


Schritt 1: Übersetzen Sie Ihren Text

Wenn Sie die Sprache, in die Sie Ihre App übersetzen möchten, nicht fließend beherrschen, sind Sie möglicherweise überrascht, wie Sie diesen Schritt erledigen können. Für die Übersetzung gibt es verschiedene Möglichkeiten. Eine Möglichkeit besteht darin, einfach Google Translate zu verwenden, eine kostenlose Übersetzungsseite von Google. Leider können automatisierte Computerübersetzungen alles andere als perfekt sein, aber dies ist möglicherweise noch besser als nichts. Eine weitere Option ist die Einstellung eines Übersetzungsdienstes. Eine schnelle Internetsuche zeigt, dass es viele Unternehmen gibt, die den Text aus Ihrer App übernehmen und ihn manuell in die gewünschte Sprache übersetzen. Schließlich können Sie versuchen, einen Freund oder Kollegen zu finden, der die Zielsprache beherrscht, und ihn bitten, den App-Text für Sie zu übersetzen. Beachten Sie, dass eine Person, die auch mit der Kultur der Zielsprache vertraut ist, Ihnen möglicherweise genauere Übersetzungen bieten kann als jemand, der nur über akademische Sprachkenntnisse verfügt.


Schritt 2: Einrichten Ihres Projekts

Starten Sie Xcode und klicken Sie auf Datei> Neu> Projekt. Klicken Sie links im iOS-Bereich auf "Anwendung". Klicken Sie auf das Symbol "Einzelansicht" und dann auf "Weiter".

Geben Sie im Feld "Produktname" "LocalizationDemo" ein und geben Sie einen Namen für Ihre Firmenkennung ein, beispielsweise "com.mobiletuts". Wählen Sie "iPhone" aus dem Menü "Gerätefamilie". Deaktivieren Sie "Use Storyboards" und "Unit-Tests einbeziehen", und aktivieren Sie "Use Automatic Reference Counting". Klicken Sie auf "Weiter", wählen Sie einen Speicherort für das Projekt aus und klicken Sie auf "Erstellen"..


Schritt 3: Lokalisierte Zeichenfolgen hinzufügen

Zuerst fügen wir der info.plist-Datei der App zwei neue Sprachen hinzu: Französisch und Spanisch. Dies informiert iTunes über die Sprachen, die von Ihrer App unterstützt werden, wodurch die zusätzlichen Sprachen unter dem Namen Ihrer App im App Store angezeigt werden können. Klicken Sie auf "localizationDemo-info.plist". Klicken Sie auf die letzte Zeile der Datei und klicken Sie auf die graue Plusschaltfläche in der ersten Zelle. Geben Sie "Localizations" in die neue Zelle ein. Klicken Sie auf den Pfeil links neben der Zelle, um Ihre Ausgangssprache (in unserem Fall Englisch) anzuzeigen. Klicken Sie auf das Pluszeichen neben "Lokalisierungen" und fügen Sie dem Array "Französisch" hinzu. Klicken Sie erneut auf die Plus-Schaltfläche und geben Sie "Spanisch" ein..

Das .Streicher Datei

Als Nächstes fügen wir eine Strings-Datei hinzu, um den lokalisierten Text zu speichern. Klicken Sie auf Datei> Neu> Neue Datei.

Wählen Sie eine iOS Resource Strings-Datei aus und klicken Sie auf "Weiter". Stellen Sie sicher, dass Ihre Datei "Localizable" heißt, bevor Sie auf "Erstellen" klicken..

Hinzufügen eines englischen Schlüsselwertpaares

Klicken Sie auf die neu erstellte Datei "Localizable.strings" und fügen Sie den folgenden Code hinzu, um ein englisches Schlüsselwertpaar zu erstellen.

 "HelloKey" = "Hallo";

Ein Schlüsselwertpaar ist genau das, was es sagt, die linke Seite des Gleichheitszeichens ist der Schlüssel und die rechte Seite ist der Wert. Wir werden den Schlüssel in einer Minute verwenden, um auf den zugehörigen Wert zuzugreifen und ihn als Beschriftungstext festzulegen.

Hinzufügen von Französisch und Spanisch .Streicher Dateien

Jetzt erstellen wir die String-Dateien für Französisch und Spanisch. Klicken Sie auf Ansicht> Dienstprogramme> Dateiinspektor anzeigen. Klicken und halten Sie die Plus-Schaltfläche unten im Bereich "Lokalisierung". Wählen Sie "Französisch" aus dem Dropdown-Menü und klicken Sie erneut auf die Plus-Schaltfläche. Wählen Sie diesmal "Spanisch" aus dem Dropdown-Menü.

Hinzufügen eines französischen Schlüsselwertpaares

Beachten Sie, dass neben "Localizable.strings" ein Erweiterungspfeil angezeigt wird. Klicken Sie auf den Pfeil, um die drei Sprachen Englisch, Französisch und Spanisch anzuzeigen. Klicken Sie auf die französische Zeichenfolge-Datei und ändern Sie das Schlüssel-Wert-Paar in den nachstehenden Code.

 "HelloKey" = "Bonjour";

Hinzufügen eines spanischen Schlüsselwertpaares

Klicken Sie auf die spanische Zeichenfolge-Datei und ändern Sie das Schlüssel-Wert-Paar in den folgenden Code.

 "HelloKey" = "Hola!";

Schritt 4: Einrichten der Benutzeroberfläche

Klicken Sie auf die Datei "ViewController.m" und fügen Sie dem folgenden Code hinzu viewDidLoad Methode zum Erstellen eines Labels, dessen Text aus einer lokalisierten String-Datei festgelegt wird.

 // lokalisierte Zeichenfolge aus der entsprechenden Zeichenfolge-Datei abrufen NSString * localizedHelloString = NSLocalizedString (@ "HelloKey", @ ""); // label-set-Texteigenschaft mit lokalisierter Zeichenfolge erstellen CGRect localizedLabel_Frame = CGRectMake (20.0f, 40.0f, 280.0f, 44.0f); UILabel * localizedLabel = [[UILabel-Zuordnung] initWithFrame: localizedLabel_Frame]; localizedLabel.text = localizedHelloString; localizedLabel.textAlignment = UITextAlignmentCenter; localizedLabel.font = [UIFont boldSystemFontOfSize: 20.0f]; // Beschriftung zur Ansicht hinzufügen [self.view addSubview: localizedLabel];

Beachten Sie, dass wir das Makro NSLocalizedString () verwendet haben, um den lokalisierten Wert aus der String-Datei der entsprechenden Sprache abzurufen. Dies ist das Mittel, um den Text basierend auf der Spracheinstellung des Benutzers einzustellen. Standardmäßig, NSLocalizedString () sucht nach einer Datei mit dem Namen "Localizable.strings". Wenn Sie Ihre Strings-Datei anders benannt haben, kann das Makro die Strings-Datei nicht finden, die den lokalisierten Wert enthält.


Schritt 5: Testen der Lokalisierungen

Klicken Sie auf Produkt> Ausführen oder klicken Sie auf den Pfeil Ausführen in der oberen linken Ecke des Xcode-Fensters. Das Projekt baut auf unserem englischen Originaltext "Hallo" auf..

Klicken Sie auf die Home-Schaltfläche, um die App zu verlassen. Klicken Sie auf Einstellungen> Allgemein> International> Sprache, um auf die Spracheinstellungen zuzugreifen.

Wählen Sie aus dem Menü Französisch oder Spanisch und kehren Sie zur LocalizationDemo-App zurück.

Beachten Sie, dass der Text in die neue Sprache geändert wurde.


Fazit

Wenn Ihre App textlastig ist und Sie für viele Sprachen lokalisieren möchten, ist es wichtig, die Schlüsselwertpaare zu organisieren. Um zu sehen, wie ich meinen Text organisiere, laden Sie den Quellcode herunter und sehen Sie sich die String-Dateien an. Fragen oder Kommentare? Fühlen Sie sich frei, sie im Kommentarbereich zu hinterlassen oder direkt über Twitter zu senden.