带有NSNumberFormatter的字符串复数形式

时间:2018-05-04 21:48:09

标签: ios localization nsnumberformatter pluralize

我想通过常用的复数技术.stringsdict文件显示格式良好的整数值。 (Apple docs here.

所以,如果我有一件事,我希望我的输出读取

  

1件事

但如果我有两千三百六十四件事,我想要那些逗号:

  

2,364件事

但是字符串复数化技术没有给我:

  

2364件事

我可以使用NSNumberFormatter获得逗号。我可以使用.stringsdict本地化技术实现多元化。

我可以轻松实现这两个目标吗?

1 个答案:

答案 0 :(得分:1)

由于您已经使用正确的复数字符串设置了.stringsdict个文件,因此您实际上并不需要数字格式化程序。只需使用localizedStringWithFormatString的{​​{1}}方法。

假设您已在Localizable.strings文件和NSString文件中设置了本地化密钥"%d things",那么您的代码将类似于:

夫特:

.stringsdict

目标-C:

let things = 2364
let localizedString = String.localizedStringWithFormat(NSLocalizedString(@"%d things", @"Your comment"), things)

根据您的语言环境,结果将类似于:

  

2,364件事   2.364件事   2 364件事