我遇到了关于数量字符串(复数)的问题。
手册上说,我可以为每个本地化提供特定的数量字符串,有几种常见情况:“零”,“一”,“二”,“少量”,“许多”和“其他”。我不知道是否覆盖了世界上所有语言的所有可能情况;无论如何,对于我正在尝试本地化的俄语来说,已经足够了。
在俄语中,2到4的数字应该被视为“少量”(实际规则更为复杂,但我只需要处理小于十的数字)。
然而,当我请求一个数量字符串为2时,系统会选择“其他”字符串。它既不选“两个”字符串也不选“少量”字符串(我已经在我的资源中提供了它们)。如果我删除“其他”字符串,就会出现异常:
android.content.res.Resources$NotFoundException:
Plural resource ID #0x7f080000 quantity=2 item=other
我在模拟器(Android 2.1)和真实设备(Android 2.3)上都尝试了这个,无论在哪种情况下,结果都是错误的。 显然,在某个地方出现了错误-系统不认识我语言的特定数量词。 这可能是Android在这里有一些bug吗?