我正在尝试在我最新的Android项目(SDK9)中使用复数形式。它始终以ResourcesNotFoundException结尾。但资源就在那里 - 绝对是:
这是我的strings.xml的一部分:
<plurals name="count_files">
<item quantity="one">%d file</item>
<item quantity="other">%d files</item>
<item quantity="zero">%d files</item>
</plurals>
<plurals name="count_folders">
<item quantity="one">%d folder</item>
<item quantity="other">%d folders</item>
<item quantity="zero">%d folders</item>
</plurals>
这就是使用它的部分:
textView.setText(
getResources().getQuantityString(R.plurals.count_folders, countfolders, countfolders)
+ ", "
+ getResources().getQuantityString(R.plurals.count_files, countfiles, countfiles));
以下是例外:
android.content.res.Resources$NotFoundException: Plural resource ID #0x7f050001 quantity=0 item=other
我必须保持多达15种不同的语言,因此我需要文本和复数的本地化。
知道我的代码有什么问题吗?
非常感谢提前。
答案 0 :(得分:1)
Android以这样的方式实现复数形式,您需要考虑每个翻译以始终要求每个复数项目。例如,如果你在'es'中声明了'0'的复数,并且你也有'fr'文件,那么你也需要在'fr'文件中定义'zero'复数。