Quantity Strings(Plurals)
不同的语言对于数量有不同的语法规则。例如,在英语中,数量1是一种特殊的情况,被写做1 book,但是其他的数量要被写成n book。这是非常普通的单/复数之间的区分,而其他的语言会有更细的区分。
Android支持的完整设置如下:zero、one、two、few、many和other。
<plurals name="notif_summary_active">
<item quantity="one">1 file downloading</item>
<item quantity="other"><xliff:g id="number">%d</xliff:g> files downloading</item>
</plurals>
res.getQuantityString(R.plurals.notif_summary_active, cluster.size(), cluster.size()));
当使用getQuantityString()方法时,如果字符串中包含了带有数字的字符串格式,就需要传递count参数两次。例如,对于字符串“%d
songs found”,第一个count参数会选择合适的复数字符串,第二个参数会插入到%d位置。如果复数字符串不包含格式化字符,就不需要传递第三个参数给getQuantityString()方法。
值 |
说明 |
zero |
当语言中需要对数量词0进行特殊处理时,要使用这个设置(如阿拉伯语) |
one |
当语言中需要对像1这样的数量词进行特殊处理时,要使用这个设置(如英语) |
two |
当语言中需要对像2这样的数量词进行特殊处理时,要使用这个设置(如威尔士语) |
few |
当语言中需要对小的数量词进行特殊处理时,要使用这个设置。(如捷克语中带有2、3和4的数量词;或是波兰语中以2、3、4结尾但不是12、13、14的数量词。) |
many |
当语言中需要对大的数量词进行特殊处理时,要使用这个设置。(如马耳他语中以11---99之间的数字结尾的数量词。) |
other |
当语言中不需要对给定的数量进行特殊处理时,使用这个设置。 |