Re: Slavonic plurals in glibc



Stanislav Brabec <utx@penguin.cz> writes:

> I guess both Slavic rules mentioned in glibc documentation are incorrect
> and incomplete.
> 
>                   Generic Slavic plural
> nplurals=3; \
> plural = n%10>=5 || n%100/10==1 ? 3 : n%10==1 ? 1 : 2
> 
> This is correct for cs, sk, ru and probably for most Slavic languages.
> 
> Plural form for pl
> nplurals=3; plural=n==1 ? 0 : \
> n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
> seems to be strange: it says, that 1 uses singular form, 2, 102
> nominativum form, and 5, 11, 12, 21, 101, 105 dativum form. Sounds
> really bad. Please verify it again with native Polish.

You formula cannot be correct.  The indices must start with 0.  Please
send a patch for the .texi file.

> I cannot verify specific Slovenian plural, because I don't speak it.

Therefore I'll leave it as it is.  Also the Polish form since you've
been explained it is correct.


> 2) Simple future extension - ordinals

No.  This is completely unnecessary since there are other, non-locale
dependent ways to write this.  New interfaces only get introduced if
they are really necessary.

> 3) Possible problem - more plural rules in single language
> 
> There is also principial complication for languages with more plural
> rules. I don't know about such language, but for example Czech language
> has at least three words with different plural rule (with dualum form).
> 
> pluralid=dualum; \
> nplurals=4; \
> plural = n%10>=5 || n%100=1 ? 4 : n%10=1 ? 1 : n%10=2 ? 2 : 3

Then write correct rules.  If there are such exceptions they should be
explained (again, I need a patch).  All translators have the
opportunity to add the appropriate rules to their translations.  None
of the rules except for the builtin Germanic rule to handle missing
translations is hard-coded.  It's always up to the translator to do
the right thing.

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------




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