Re: Discrepancies with CLDR



Our conclusion regarding Latvian (lv) is that neither our current rules nor CLDR's are wrong. Both get the important parts right, that is:
- 0 always goes with a certain plural -- this is the basis of CLDR's category "zero" and GTK's plural 2,
- all n where n%10>=2 except 11..19 go with a certain different plural -- this is the basis of CLDR's category "other" and GTK's plural 1,
- all n where n%10==1 && n%100!=11 go with singular -- this is the basis of CLDR's category "one" and GTK's plural 0.

All numbers not covered above (11..19, 10, 20 etc.) can go with either of the two plurals (sometimes depending on how the number is spelled out / read out loud). So, GTK+ puts all of them in "other" (plural 1), while CLDR puts some in "zero".

Arguably, the GTK+ formulation is more localization-friendly, as it gives 0 its own category at no extra cost.


On 27 July 2015 at 00:17, Shaun McCance <shaunm gnome org> wrote:
Recently, I was working on updating the plural forms used inside
yelp-xsl localization stylesheets. I looked two places to make sure I
got things right: the Unicode CLDR project, and the PO files in gtk+.
Usually they said the same thing, and I was happy. Sometimes they
didn't, and that confuses me.

http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html

I'm sending that list of discrepancies in case it's something that needs
to be followed up on. I'm not saying anybody's wrong or there's a bug. I
just think the differences are curious.

am as bn gu hi kn mr pa si
==============================================
GTK+ says plurals=2; plural=(n != 1);
CLDR says the singular includes 0
(This is by far the most common discrepancy.)

br
======
GTK+ says nplurals=2; plural=n > 1; (singular+zero, and plural)
CLDR says 5 forms: one, two, few, many, other

cy
======
GTK+ says nplurals=2; plural=(n==2) ? 1 : 0;
CLDR shows 6 forms: zero, one, two, few (3), many (6), and other

dz
======
GTK+ says nplurals=2; plural=(n!=1);\
CLDR says one form

fa
======
GTK+ says nplurals=1; plural=0;
CLDR says two forms: singular+zero, and plural

he
======
GTK+ says nplurals=2; plural= (n!=1);
CLDR says four forms: one, two, many, other

is
======
GTK+ says nplurals=2; plural=1;
CLDR says two forms, but singular is n%10=1

lv
======
GTK+ says nplurals=3;
  plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);
CLDR says 3 forms: zero(%10), one(%10), and other

mk
======
GTK+ declares one more form than it calculates:
nplurals=3; plural= n==1 || n%10==1 ? 0 : 1
This isn't the case in other mk.po files in GNOME, so this is probably
just a type that should be corrected.

ms
======
GTK+ doesn't have forms, so defaults to en rules
CLDR says 1 form

tr
======
GTK+ says nplurals=1; plural=0;
CLDR says two forms: singular, and plural



_______________________________________________
gnome-i18n mailing list
gnome-i18n gnome org
https://mail.gnome.org/mailman/listinfo/gnome-i18n



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]