我目前正在开发一款Android应用,它大量使用android资源字符串进行国际化。每个字符串标识符名称都具有特定格式,例如
<string name="example.string.name.identifier">Example</string>
代码中的我可以用以下字符引用字符串:
R.string.example_string_name_identifier
这适用于普通字符串。但是,只要我将此格式用于多个标识符名称,就会出现以下错误:
error: Error retrieving parent for item: No resource found that matches the given name 'example.plural.name'
字符串复数定义如下:
<plurals name="example.plural.name.identifier">
<item quantity="one">Example</item>
<item quantity="other">Examples</item>
<item quantity="zero">Examples</item>
</plurals>
在代码中我引用了复数:
// _amount is a function parameter
String exampleString = getResources().getQuantityString(R.plurals.example_plural_name_identifier, _amount, _amount);
不幸的是,我工作的公司,真的希望我坚持这种模式。是否有可能将此模式与字符串复数形式一起使用,或者我们是否必须重命名标识符?
答案 0 :(得分:1)
你如何找回复数?
示例:
int number=2;
Resources res = getResources();
String quantityString = res.getQuantityString(R.plurals.example.plural.name.identifier, number, number);
好吧,你似乎只能在名字中使用'_'。名字中的任何一个点都会给我带来与dot相同的问题作为名字的第一个字符。