处理iOS中的Declension

时间:2016-04-27 19:04:04

标签: ios localization

我需要处理Declensions。该应用程序使用不同的语言(捷克语),其中的单词更改为单数或复数。并且也基于性别。

英文示例

  

1项,2项,5项,......

目标语言=>捷克语

  

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

我找到了一些我目前正在经历的存储库。 https://github.com/adamelliot/Inflections

https://github.com/mattt/InflectorKit

在android上,有一种方法可以通过xml来实现。在iOS上有没有推荐的方法来处理这个问题?我不想使用if或switch。

感谢您的建议。

马蒂

1 个答案:

答案 0 :(得分:2)

在iOS(和其他Apple平台)中,与数值一起更改的多个declensions和其他本地化字符串与其他本地化字符串通过相同的API运行。所以你只需在你的代码中调用NSLocalizedString(没有额外的ifs或开关),但除了包含主(不依赖于数字)本地化字符串的Localizable.strings文件之外,你还提供了更多支持的本地化数据,您为变量添加stringsdict文件。

Apple的文档逐步完成:请参阅国际化和本地化指南中的Handling Noun Plurals and Units of Measurement。这里的例子是俄语,其中IIUC与捷克有相似的复数规则......但如果您需要处理更多,stringsdict格式支持全套Unicode CLDR Plural Rules