Flutter本地化中如何触发复数规则里的few与many选项?
关于ARB文件复数配置中few/many分支触发的疑问
我的app_en.arb文件里有如下复数配置字符串:
"pluralSample" : "{count, plural, =0{no persons} =1{one person} =2{2 persons} few{few persons} many{many persons} other{{count} people}}",
传入0时能正确获取no persons:
Text(AppLocalizations.of(context)!.pluralSample(0)) /// no persons
传入25时能获取25 people:
Text(AppLocalizations.of(context)!.pluralSample(25)) /// 25 people
但我不清楚怎么才能触发其中的few{few persons}和many{many persons}选项?
问题解答
在英文的复数规则里,根本没有few和many这两个范畴,所以你在英文本地化配置里写的这两个分支永远不会被触发。
不同语言的复数划分规则差异很大:
- 英语的复数逻辑只区分:
zero(可通过=0指定)、one(数值为1时)、other(其他所有情况),完全用不到few和many。 - 像俄语、波兰语、罗马尼亚语这类语言,复数规则会细分出
few(特定小数值范围)、many(大数值范围)的场景,只有在这些语言的本地化配置里,这两个分支才会生效。
如果你想验证few和many的触发逻辑,可以切换到支持这类复数规则的语言环境,或者针对对应语言编写ARB配置文件测试。
内容的提问来源于stack exchange,提问作者krishnaji
相关产品推荐
相关产品推荐

