背景
我正在开发的应用内部拥有许多翻译。
以下是我拥有的英文复数字符串:
<plurals name="something">
<item quantity="one">added photo</item>
<item quantity="other">added %d photos</item>
</plurals>
以及法语翻译:
<plurals name="something">
<item quantity="one">a ajouté une photo</item>
<item quantity="other">a ajouté %d photos</item>
</plurals>
问题
我在使用法语和俄语时都遇到了以下警告:
该地区设置下“one”对应多个具体数字,但消息未包含格式化参数(例如 %d)。这通常是国际化错误。有关更多信息,请参见完整的问题说明。
在选择显示详细信息时,它会显示:
事实上,我不知道应该如何解决此问题,甚至是否存在问题...
问题
我应该如何处理这些字符串?我应该告诉翻译者什么?
a ajouté 101 photo
绝对不是法语;我们说a ajouté 101 photos
(注意s - 如果您不确定,请参见http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#fr-comp)。因此,Android是**错误的**:在法语环境中,数量“one”仅匹配单个特定数字:1,并且linter _不应_在此处指示问题。 - tchap在这种语言环境中,“one” 与多个特定数字(0、1等)匹配[...]
;这是正确的,在法语中,您可以说a ajouté 0 photo
和a ajouté 1 photo
。无论如何,我只是想评论一下,尽管 Android Studio 抱怨,但这并没有阻止我编译和运行我的应用程序。 - Unda