Flutter包easy_localization复数未按预期工作

9rnv2umw  于 2023-04-22  发布在  Flutter
关注(0)|答案(1)|浏览(152)

使用软件包easy_localization来翻译我的应用程序。举个例子,这里是翻译文件json:

{"test": {
"zero": "zero",
"one": "one",
"two": "two",
"few": "few",
"many": "many",
"other": "other"},}

如果我把这些简单地打印到控制台,就像这样:

print(plural("test", 0));
print(plural("test", 1));
print(plural("test", 2));
print(plural("test", 3));
print(plural("test", 4));

它会回来的

zero
one
two
other
other

所以它像预期的那样对“零”、“一”、“二”起作用。但随后跳过“几”和“多”,默认为“其他”。
什么构成了“少数”和“许多”?我是不是把“其他”作为复数使用,而忽略了“少数”和“许多”?
没有错误,所以我不确定这是否是预期的功能。感觉不对我。
如果任何人有过这个包的经验,如果他们能解释这个的理由,那就太好了。

gopyfrb3

gopyfrb31#

你可以在它们的source code中看到复数规则是什么。
似乎大多数语言都有非常简单的复数规则。比如英语,它基本上是没有,一个或另一个:你可以有“没有钱”、“一美元”或“X美元”。英语对其他金额没有特殊的语言。
恐怕我不知道有哪种语言对特殊金额有特殊规定,但如果你必须为它们翻译,说这种语言的人肯定知道。

相关问题