2016-04-27 25 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