我需要处理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。
感谢您的建议。
马蒂
答案 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。