在Android中的字符串,可以定义复数处理取决于供给所描述字符串的实际数量的翻译在这里.字符串还允许指定多个位置参数,类似于sprintf
许多语言中的位置参数.
但是,请考虑以下字符串:
%1$d hours and %2$d minutes remaining.
它包含两个数字,我如何在Android中将其转换为复数?所有示例始终仅使用单个参数.这甚至可能吗?
getQuantityString有一个重载版本,它带有一个String id,varargs
可以用来格式化字符串的数量和对象.尽管似乎可以使用复数,但对我而言,这听起来很奇怪.您可以使用DateUtil中包含的辅助方法,这些方法已经本地化并处理单数/复数,然后使用这些辅助方法的结果完成您的字符串.例如getRelativeTimeSpanString
- %d email
- %d emails
- %d message
- %d messages
然后你可以getQuantityString
用来检索这两件并将它合二为一.