2017-09-25 3 views
0

Ich lokalisierte meine App mit Localizable.string Dateien und einen Schlüssel für jeden Text in meinem Projekt.Der beste Weg, um eine App mit Xcode 9 und Swift 4 zu lokalisieren?

Derzeit arbeite ich an einem Projekt mit Xcode 9 und Swift 4 und zum ersten Mal benutze ich Storyboards (ja, es klingt seltsam, aber ich habe immer SpriteKit ohne Storyboards verwendet) und ich bin ein bisschen verwirrt, wie man mit der Lokalisierung damit umgeht. Grundsätzlich meine Frage ist:

Sollte ich Storyboard Lokalisierungen für UILabel oder sollte ich alles in Localizable.string implementieren und geben Sie dem Etikett einen Wert durch Code?

Irgendwelche Tipps, um zu verstehen, welcher der beste Weg ist, um es zu lokalisieren?

+0

Bitte, wie hast du Xcode 9 bekommen? –

+0

@Llg Ich habe es gerade über den Apple Store aktualisiert. Wenn Sie Probleme haben, können Sie es auch von der Apple Website herunterladen – user3582537

+0

Sie haben die Benachrichtigung aus dem App Store erhalten? Und was war deine letzte Xcode-Version? –

Antwort

0

Ich empfehle, anstelle von Storyboard-Lokalisierungen Localizable.string zu verwenden, da sich die IDs der Beschriftungen im Storyboard möglicherweise ändern.

+0

Wie kann ich das Xcode 9-Update erhalten? Weil ich den Xcode 8.3.3 habe und wenn ich im Appstore nach Updates einchecke, bekomme ich den Xcode nicht. –

+0

Danke für Ihre Antwort! Ich werde definitiv 'Localizable.strings' Datei dann verwenden – user3582537

0

Es gibt keine bessere/schlechtere Lösung. Es hängt vom Zweck Ihrer UILabel ab. Wenn es sich um ein Element handelt, das sich während des Lebenszyklus der App nicht ändert, verwenden Sie möglicherweise lieber direkt die Storyboard-Lokalisierung. Wenn die Beschriftung andere Werte haben könnte, empfehle ich Ihnen stattdessen, Ihre lokalisierten Zeichenfolgen programmgesteuert festzulegen.

0

Eine der zuverlässigsten Lösungen, die ich gefunden habe, Das funktioniert genau für mich.

1. Wir müssen ein Storyboard verwenden und Lokalisierungs-String-Datei erstellen. Das erstellt automatisch ID für alle Objekte. diese Folgen tutorial

Dann können wir MCLocaliztion eine Bibliothek verwenden, die entsprechende Übersetzung Zeichenfolge auf ID basiert abholt. Was wir tun müssen, müssen wir einen richtigen JSON basierend auf Objects ID vorbereiten.

Ich hoffe, es hilft.

Verwandte Themen