2016-04-27 28 views
1

Ich muss Declensions behandeln. Die App ist in einer anderen Sprache (Tschechisch), wo sich die Wörter für Singular oder Plural ändern. und basierend auf Geschlechtern.Handhabung Deklination in iOS

Beispiel in Englisch

1 Punkt, 2 Stück, 5 Stück, ...

In Zielsprache => Tschechische Sprache

1 položka , 2 položky, 5 položek, ...

Ich habe einige Repositories gefunden, die ich gerade durchlaufe. https://github.com/adamelliot/Inflections

https://github.com/mattt/InflectorKit

auf Android, ist es eine Möglichkeit, es über XML zu tun. Gibt es eine empfohlene Möglichkeit, dies auf iOS zu behandeln? Ich möchte nicht verwenden, wenn's oder Schalter.

Vielen Dank für und Anregungen.

Matti

Antwort

2

In IOS (und andere Apple-Plattformen), mehreren Deklinationen und andere lokalisierte Zeichenfolgen, die mit numerischen Werten verändern entlang laufen über die gleiche API wie andere lokalisierten Zeichenfolgen. Also rufen Sie einfach NSLocalizedString in Ihrem Code (keine zusätzlichen IFS oder Schalter), aber Sie bieten mehr unterstützende lokalisierte Daten - zusätzlich zu der Localizable.strings Datei, die die wichtigsten (Anzahl-unabhängige) lokalisierte Strings enthält, fügen Sie eine stringsdict Datei für die Deklinationen .

Apples Dokumentation durchlaufen diese Schritt-für-Schritt: siehe Handling Noun Plurals and Units of Measurement in ihrem Internationalisierungs-und Lokalisierungshandbuch. Das Beispiel dort ist Russisch, welches IIUC ähnliche Pluralregeln zu Tschechisch hat ... aber das stringsdict Format unterstützt den vollen Satz von Unicode CLDR Plural Rules, wenn Sie mehr behandeln müssen.