the*_*ega 11 android translation plural
Android允许翻译人员定义Plurals.以下示例适用于我的语言环境'en':
<plurals name="numberOfSongsAvailable">
<item quantity="one">One song found.</item>
<item quantity="other">%d songs found.</item>
</plurals>
Run Code Online (Sandbox Code Playgroud)
但是添加一个特殊值two
不起作用,仍然采用该other
版本.使用two
依赖于语言环境?那么,two
如果语言环境明确指定应该有two
版本,Android是否只采用该版本?
SO问题Android复数处理"零"在使用zero
英语时也出现同样的错误,也不支持.除了避免我想要避免的Android复数之外,这个问题没有解决方案.
mir*_*e2k 10
Android正在使用CLDR复数系统,这不是它的工作原理(所以不要指望这会改变).
该系统在这里描述:
http://cldr.unicode.org/index/cldr-spec/plural-rules
简而言之,理解"一个"并不意味着数字1是很重要的.相反,这些关键字是类别,属于每个类别的特定数字n由CLDR数据库中的规则定义:
http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
虽然似乎没有语言对0以外的任何东西使用"零",但有些语言将0分配给"1".肯定有很多情况下"两个"包含其他数字而不仅仅是2.
如果Android允许您执行您的预期操作,则无法将您的应用程序正确地翻译成具有更复杂复数规则的任意数量的语言.
归档时间: |
|
查看次数: |
3766 次 |
最近记录: |