2014-10-03 11 views
8

In Xcode 6 wird nun das XLIFF-Dateiformat zur Lokalisierung von Strings verwendet. Ich muss jedoch Plural und Geschlecht lokalisieren. Wie kann ich das in Xcode 6 machen?Xcode 6 Lokalisierung von Plural & Gender mit XLIFF

Soweit ich verstehe, ersetzt die XLIFF-Datei jetzt die Localizable.strings-Datei. In iOS 7/OS X 10.9 konnten wir Pluralformen & Geschlechter lokalisieren, indem wir Localizable hinzufügten. stringsdict, aber dies erfordert eine Localizable.strings zu existieren. Aber da es jetzt keine Localisable.strings-Datei gibt, wie kann ich die Localizable.stringsdict-Datei zum Funktionieren bringen?

Antwort

10

Ab Xcode 6 verwendet Apple XLIFF als Dateiformat für den Export Ihres Projekts zur Lokalisierung. Im Projekt selbst hat sich jedoch nichts geändert. Sie sollten fortfahren, Localisable.strings und Localizable.stringsdict-Dateien zu verwenden, um Plural pro Apple-Dokumentation unter Handling Noun Plurals and Units of Measurement zu behandeln.

Sie zu diesem Objective-C project oder dieser Swift project als Beispiele für die Verwendung Strings Wörterbuchdateien für Plurale mit Xcode 6.

Ein wenig mehr Hintergrund auf XLIFF und Xcode 6 beziehen:

XLIFF (XML Localization Interchange File Format) ist ein XML-basiertes Format, das erstellt wurde, um zu standardisieren, wie lokalisierbare Daten während eines Lokalisierungsprozesses zwischen Tools ausgetauscht werden. XLIFF wurde im Jahr 2002 von OASIS standardisiert

Wenn Sie auf Editor klicken -> Export für Lokalisierung in Xcode, verpackt sie alle Ihre lokalisierbaren Vermögenswerte in eine XLIFF-Datei, die Ihre Anwendung zu Übersetzern ausgeschaltet werden können für die Lokalisierung Saiten. Da XLIFF ein standardisiertes Dateiformat ist, müssen Übersetzer und Übersetzungstools das interne Zeichenkettenformat von Apple nicht verstehen.

Hier ist ein example of the resulting XLIFF Dokument, das durch den Export des oben genannten Swift project zur Lokalisierung erstellt wurde. Jetzt können Übersetzer eine Übersetzungsplattform oder ein Tool verwenden, um den Inhalt Ihrer Anwendung zu übersetzen und Ihnen eine lokalisierte XLIFF-Datei zurückzugeben. Sie als Entwickler können dann die Xcode-Funktion "Importiere Lokalisierungen" verwenden, um die übersetzte XLIFF-Datei in Ihr Projekt zu importieren. Dadurch generiert Xcode die erforderlichen länderspezifischen Zeichenkettendateien aus der importierten XLIFF-Datei.

Kurz gesagt, an der Entwicklung Ihres Projekts hat sich nichts geändert. Was in Xcode 6 hinzugefügt wurde, ist eine neue Funktion zur Vereinfachung des Lokalisierungsprozesses.

Es gibt einen Vorbehalt, den ich erwähnen sollte über Plural und Export für die Lokalisierung. Ab Xcode 6.1 fehlt Apples Export für die Lokalisierungsfunktion noch eine Möglichkeit, Plural korrekt zu exportieren. Dies ist höchstwahrscheinlich auf die aktuelle XLIFF-Spezifikation zurückzuführen, die keine standardisierte Möglichkeit zum Verwalten mehrerer Darstellungen einer Zeichenfolge aufweist. Es gibt eine open bug mit Apple, um dieses Problem zu beheben.

+0

Kurz gesagt: Wenn ich Pluralformen habe, setze Localizable.strings & Localizable.stringsdict fort. Wenn ich das nicht kann, kann ich XLIFF verwenden (muss es aber nicht). Kann ich nicht beide, d. H. XLIFF für Nicht-Plural-Lokalisierung, mit Localizable.strings/.stringsdict für Plurallokalisierung kombinieren? Oder muss es das eine oder andere sein? – iMaddin

+1

@iMaddin, Sie verwenden weiterhin Localizable.strings/.stringsdict für Plurallokalisierung. XLIFF ist nur ein Austauschformat zum Exportieren Ihrer Zeichenfolgen aus Ihrem Projekt und zum Importieren von Übersetzungen zurück in Ihr Projekt. Sie müssen diese neue Xcode-Funktion oder XLIFF überhaupt nicht verwenden. Es erleichtert die Arbeit mit Übersetzern, die an XLIFF oder Übersetzungsplattformen gewöhnt sind, die dies unterstützen. XLIFF ist kein Ersatz für Localizable.strings/.stringsdict-Dateien von Apple. – Scott

+0

@Scott, die Zeichenfolgen in der .stringsdict-Datei sind in der en.xliff-Datei nicht verfügbar, und Sie haben das oben bereits erwähnt. Meine Frage ist: Wie schaffen Sie das? Senden Sie die .stringsdict-Datei separat an den Übersetzer? – Mustafa