作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我需要默认不受支持的语言,我在使用 Android XML 中的数量字符串(复数)来获得适当的复数形式时遇到问题。
Android 复数支持创建多个字符串,这些字符串根据提供的数字数量使用,所以我在 strings.xml 中有这个:
<plurals name ="hours">
<item quantity="one">1 hour ago</item>
<item quantity="other">%d hours ago</item>
</plurals>
这在我的代码中:
getQuantityString(R.plurals.hours, time, time);
如果我的设备设置为英语,这可以正常工作,但如果我将我的设备设置为日语,我尚不支持的语言,它仅使用“其他”数量字符串并可以生成输出
1 hours ago
有没有办法让复数在默认不受支持的语言时给出语法输出?
最佳答案
这里的主要问题是它采用当前语言环境的复数规则,但将它们应用于恰好与英语一致的默认字符串。
您在这里可以尝试的是在应用程序中维护一个支持的语言环境列表,并检查当前语言环境是否受支持。如果是,你什么都不做。如果不是,您可以将语言环境设置为英语。这应该使系统应用英语规则。 Changing Locale within the app itself可以帮助您做到这一点。
关于对于不受支持的语言,Android 复数形式不合语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25081999/
我是一名优秀的程序员,十分优秀!