Le 25.09.20 à 11:03, Bruno Haible a écrit :
Bonjour Frédéric,
PS : j'ai laissé inchangé la définition du pluriel (n>1 me semble plus simple que n>=2).
C'est faux.
Frédéric faisait référence à ce fil: https://listes.traduc.org/pipermail/traduc/2014-June/008229.html
Vous avez raison tous les deux:
Le pluriel en français est réellement appliqué quand n>=2. En français, 1.5 est singulier. Voir par exemple https://www.druide.com/fr/enquetes/15-gramme-ou-15-grammes
Correct.
Avec la règle n>1, les nombres décimaux entre 1 et 2 seront mis au pluriel.
Non, puisque la règle du pluriel n’est appliquée que pour des entiers: La fonction ngettext prend un entier en argument. [1] Gettext n’a simplement pas de support pour les pluriels avec argument fractionnel.
Dans mon message de 2014, je mentionnais Python dont l'implémentation acceptait les nombres à virgule. Mais en y regardant de plus près, je vois que Python a rendu obsolète cette prise en charge.
warnings.warn('Plural value must be an integer, got %s'...
Et même s'il accepte actuellement les nombres à virgule, il les force à des nombres entier de toute manière. https://github.com/python/cpython/blob/3.8/Lib/gettext.py#L200
Donc pour les puristes, n>=2 serait peut-être plus correct, par exemple si un jour gettext venait à prendre en charge les nombres à virgule, mais certainement que ça n'arrivera jamais. Ça, Bruno sait mieux que moi :-)
À+
Claude