bug-gettext
[Top][All Lists]

## [bug-gettext] [bug #45591] Slovenian plural string to be changed in docu

 From: Michele Locati Subject: [bug-gettext] [bug #45591] Slovenian plural string to be changed in documentation Date: Mon, 27 Aug 2018 05:55:37 -0400 (EDT) User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0

```Follow-up Comment #13, bug #45591 (project gettext):

I'm writing this just for the sake of clarity.

Let's start from CLDR. Unicode CLDR defines these rules for the plurals of
Slovenian:

one: v = 0 and i % 100 = 1
two: v = 0 and i % 100 = 2
few: v = 0 and i % 100 = 3..4 or v != 0
other: any other case

Translated to gettext (where v == 0 and i is n), we'd have:

one: n % 100 == 1
two: n % 100 == 2
few: n % 100 == 3 || n % 100 == 4
other: any other case

In gettext we currently have:

plural = n % 100 == 1 ? 0 : n % 100 == 2 ? 1 : n % 100 == 3 || n % 100 == 4 ?
2 : 3;

msgstr[0] for 'one' (n % 100 == 1)
msgstr[1] for 'two' (n % 100 == 2)
msgstr[2] for 'few' (n % 100 == 3 || n % 100 == 4)
msgstr[3] for 'other'

The new formula suggesed here is:

plural = n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ?
3 : 0;

msgstr[0] for 'other'
msgstr[1] for 'one' (n % 100 == 1)
msgstr[2] for 'two' (n % 100 == 2)
msgstr[3] for 'few' (n % 100 == 3 || n % 100 == 4)

So, what changes here is not the criteria to determine the four plural cases
(one, two, few, other), but the order of msgstr:
- in gettext we have 'one', 'two', 'few', 'other'
- the proposed change implies 'other', 'one', 'two', 'few'

So, this change is not strictly about Slovenian (it could be Klingonese for
what is worth), but about the order of the plural cases.

And PS: I might be wrong, but it seems to me that currently all the languages
follows the order
'zero', 'one', 'two', 'few', 'many', 'others'
and not
'others', 'zero', 'one', 'two', 'few', 'many'

_______________________________________________________

<http://savannah.gnu.org/bugs/?45591>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

```