【问题标题】:String pluralizer with NSNumberFormatter使用 NSNumberFormatter 的字符串复数
【发布时间】:2018-10-15 10:41:50
【问题描述】:

我想通过常用的复数技术.stringsdict 文件显示一个格式良好的整数值。 (苹果文档here.

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

1 件事

但如果我有两千、三百六十四个东西,我想要那些逗号:

2,364 件事

但是可惜字符串复数技术并没有给我:

2364 件事

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

我可以轻松实现两者吗?

【问题讨论】:

  • 更新您的问题以包含您目前拥有的代码,以获取带有数字的本地化字符串。
  • @rmaddy 不,任何可以提供帮助的人都会知道我想要什么。

标签: ios localization nsnumberformatter pluralize


【解决方案1】:

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

假设您在 Localizable.strings 文件和 .stringsdict 文件中设置了本地化密钥 "%d things",您的代码将如下所示:

斯威夫特:

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

目标-C:

int things = 2364;
NSString *localizedString = [NSString localizedStringWithFormat:NSLocalizedString(@"%d things", @"Your comment"), things];

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

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

【讨论】:

  • 我已经在过去 24 小时内获得连载投票,所以请不要尝试。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多