[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU gettext: wrong plural form definition for the Czech language
From: |
Bruno Haible |
Subject: |
Re: GNU gettext: wrong plural form definition for the Czech language |
Date: |
Wed, 19 Oct 2005 14:18:25 +0200 |
User-agent: |
KMail/1.5 |
Hi,
Jakub Friedl wrote:
> I was asked to forward a bug originally filled as
> https://bugzilla.novell.com/show_bug.cgi?id=129313
> upstream:
>
> GNU gettext uses this plural form definition for the Czech language:
>
> nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 &&
> (n%100<10
>
> || n%100>=20) ? 1 : 2)
>
> I believe it is wrong and should be changed for following reasons:
> 1) http://www.ujc.cas.cz/poradna/odpo.html#dveste (czech only, sorry)
> It enforces a language rule, which is not mandatory since 1970'.
> It is not incorrect (its use is still optional), however it sounds
> somewhat archaic today. According to the language institute of the
> Academy of Sciences of the Czech Republic (the Czech link above) it is:
> "more common and more natural to NOT use this rule"
>
> 2) Its use induces problems. Many (probably most) translators do not expect
> use of this rule. Then they translate the first plural form as it would
> be used only for singular (1 item exactly), not using a variable "%n"
> but literal string as "1", "one" or similar. Then, bugs like this one
> happen: http://bugs.kde.org/show_bug.cgi?id=114283
>
> I propose following definition (modern Czech language, not inducing
> described problems):
>
> nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;
Thanks for the detailed report. Your proposal is already integrated in
GNU gettext 0.14.3 or newer. Version 0.14.5 is recommended.
Bruno