Quantity “two” not working in Android Strings-Resources Plural

前端 未结 3 930
醉梦人生
醉梦人生 2021-02-14 03:45

Android allows translators to define Plurals. The following example works for me with locale \'en\':


    

        
3条回答
  •  既然无缘
    2021-02-14 04:23

    Android is using the CLDR plurals system, and this is just not how it works (so don't expect this to change).

    The system is described here:

    http://cldr.unicode.org/index/cldr-spec/plural-rules

    In short, it's important to understand that "one" does not mean the number 1. Instead these keywords are categories, and the specific numbers n that belong to each category are defined by rules in the CLDR database:

    http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html

    While there appears to be no language which uses "zero" for anything other than 0, there are languages which assign 0 to "one". There are certainly plenty of cases where "two" contains other numbers than just 2.

    If Android where to allow you to do what you intended, your applications could not be properly translated into any number of languages with more complex plural rules.

提交回复
热议问题