Pluralization rules for the Engilsh and many other languages are wrong. CLDR contains the right pluralization rules, and ruby-cldr gem gives them as ruby code. For example, for :en locales it is like this:
This difference comes from ruby-cldr as CLDR doesn't seem to define rules for negative numbers (also coverd by #270):
-1 - ruby-cldr: one, rails-i18n: other
I propose not to change globally OneOther pluralization for all the locales, but to fix languages one by one whenever we are sure that it works some way. So this issue is about fixing :en and :en-xx pluralizations.
Also one more general ruby-cldr difference:
'1' - ruby-cldr: one, rails-i18n: other
I think, that converting strings to numbers for the check is nice.
Though now I think that abs() could be used globally until we get some evidence, that it doesn't work this way in some language. At least this way we'll fix more locales than we'll break.
Pluralization rules for the Engilsh and many other languages are wrong. CLDR contains the right pluralization rules, and ruby-cldr gem gives them as ruby code. For example, for :en locales it is like this:
Here's a CLDR defined difference:
1.0
- CLDR: other, rails-i18n: oneThis difference comes from ruby-cldr as CLDR doesn't seem to define rules for negative numbers (also coverd by #270):
-1
- ruby-cldr: one, rails-i18n: otherExplanations of why rails-i18n is wrong in these two cases is in the answer here: http://english.stackexchange.com/questions/69162/are-these-plural-or-singular
I propose not to change globally OneOther pluralization for all the locales, but to fix languages one by one whenever we are sure that it works some way. So this issue is about fixing :en and :en-xx pluralizations.
Also one more general ruby-cldr difference:
'1'
- ruby-cldr: one, rails-i18n: otherI think, that converting strings to numbers for the check is nice.