2016-04-27 23 views
1

我需要處理Declensions。該應用程序使用不同的語言(捷克語),其中的單詞或複數變化。並基於性別。在iOS中處理Declension

實施例中英文

1項,2項,5個項目,...

在目標語言=>捷克語

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

我發現我目前正在經歷很少的存儲庫。 https://github.com/adamelliot/Inflections

https://github.com/mattt/InflectorKit

在Android上,有一種方法通過XML做到這一點。在iOS上有沒有推薦的方法來處理這個問題?我不想使用if或switch。

謝謝您的建議。

馬蒂

回答

2

在iOS系統(和其它蘋果平臺),與數字值而變化的多個變格和其他本地化字符串通過相同的API其他本地化字符串運行。因此,您只需在代碼中調用NSLocalizedString(沒有額外的if或switch),但是您提供了更多支持的本地化數據 - 除了包含主要(數字無關)本地化字符串的文件Localizable.strings之外,還爲該DEClensions添加了一個stringsdict文件。

蘋果公司的文檔一步一步運行:請參閱Handling Noun Plurals and Units of Measurement國際化和本地化指南。這裏的例子是俄語,IIUC與捷克語有類似的複數規則......但如果您需要處理更多,則stringsdict格式支持全套Unicode CLDR Plural Rules