Android で数量文字列リソースを使用すると、英語で簡単に使用でき、期待どおりに動作します。
String output = getResources().getQuantityString(R.plurals.my_resource, i, i);
の場合、これは数量で1
定義された文字列を返します。たとえば、 toの場合、数量文字列を返します。one
2
70
other
しかし、ロシア語Locale
セットで同じコードを使用すると、出力が異なります。
one
入力だけでなく、「1」で終わるすべての数値1
の入力、、、、にも21
数量31
文字列を使用します。なんで?それは意図された(正しい)動作ですか?私には、これは非常に奇妙に見えます。さて、Google に文字列を翻訳させると、名詞の出力は常に同じになります。41
51
30 dogs
31 dogs
32 dogs
ちなみに、リトアニア語でも同様の動作を見たことがあります。