Frage

Ich arbeite eine iPhone-Anwendung auf internationalisieren, und ich bin mit ibtool die Zeichenfolge aus meiner xib Dateien zu extrahieren, so dass sie wie so eine Lokalisierung Haus übersetzt werden:

ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib

Das Problem dabei ist, dass die .strings Datei ich am Ende mit enthält alle die Zeichenfolge in der xib enthalten ist, wenn ich die Teilmenge wirklich will, dass ich Pflege tatsächlich über für i18n. Gibt es eine beste die beste Praxis für diesen für den Umgang? Im Idealfall würde ich eine Art von Anmerkung im Interface Builder können, möchte hinzufügen, zu sagen, entweder „Das ist lokalisierbar“ oder „Das ist nicht lokalisierbar“ und haben ibtool nur dann ausgegeben, die lokalisierbaren Strings, wenn ich es laufen.

Danke!

Edit: OK, lassen Sie mich die Parameter ein wenig erweitern. Die Lösung muss nicht ibtool nur verwenden. Ibtool + einige Daten in der xib + ein Shell-Skript ist in Ordnung. Solange es funktioniert!

War es hilfreich?

Lösung

ibtool ist extrem ausführlich in seiner String-Dateien ausgegeben und erzeugt stirngs durch Objekt-ID, statt durch einzigartige Quelle String. Diese Art der Ausgabe ist sehr nützlich, wenn Sie versuchen, Interface Builder neu zu erstellen oder auf andere Weise eine umfassende Kontrolle über die Objekte in Ihrer xib Dateien benötigen, aber weniger, wenn Sie einfach Ihre Software lokalisieren möchten.

Matteo bei Digitalwaters.net einen Weg gefunden, die Ausgabe von ibtool zu und von dem Format, das von nibtool, seinem Vorgänger, die weniger stark waren verwendet zu konvertieren, aber viel einfacher für die Lokalisierung zu verwenden. Weitere Informationen hier .

Ich habe wiederverwendet seine Skripte die Lokalisierung unserer Mac OS X-Anwendung, und sie funktionieren gut für mich zu straffen. Viel Glück:)

Andere Tipps

Ich denke, man kann dies automatisieren, aber es wird ein paar Schritte. Sie können beliebige Eigenschaften von Ihrem xib extrahieren mit ibtool, so vielleicht haben Sie den Tag der nicht-lokalisierbare Elemente auf einen bestimmten Wert (-1, zum Beispiel) einstellen könnte, dann die Tags extrahieren und dass die Saiten zu filtern verwenden Datei und entfernen die unerwünschten Einträge.

überprüfen Sie die man-Seite für ibtool, insbesondere die -export Option.

ibtool nicht ausgibt Einträge für leere Strings. So zum Beispiel, wenn Sie ein UILabel Text leer lassen, wird es nicht in der Ausgabe von ibtool --generate-strings-file enthalten sein. Anschließend können Sie den Text der Elemente im View-Controller eingestellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top