FreeToGenerate.com

L’anglais a moins de formes de pluriel que ces quatre autres langues, et davantage de formes ordinales. L’arabe fait exactement l’inverse. Rien n’est envoyé.

Essayez

Essayez 0 : trois de ces cinq langues ne sont pas d’accord avec l’anglais à son sujet. Essayez ensuite 1000000.

Ce que dit votre navigateur

AnglaisotherLe cas général. Toutes les langues l’ont, et certaines n’ont qu’elle.
EspagnolotherLe cas général. Toutes les langues l’ont, et certaines n’ont qu’elle.
PortugaisoneLe singulier — même si les nombres qui comptent comme singuliers ne sont pas les mêmes partout.
FrançaisoneLe singulier — même si les nombres qui comptent comme singuliers ne sont pas les mêmes partout.
ArabezeroUne forme pour rien du tout, que la plupart des langues n’ont pas.

Calculé ici et maintenant par votre propre navigateur. C’est la seule réponse qui puisse affecter votre code.

deà

La partie de l’API dont presque personne ne soupçonne l’existence. En anglais, un intervalle de 1 à 1 n’est pas au singulier.

La même question sur un intervalle

Anglaisother
Espagnolother
Portugaisone
Françaisone
Arabeother

Toutes les catégories qu’emploie chaque langue

Anglaiscompter (un fichier, deux fichiers)oneother2 catégories
ordonner (1er, 2e, 3e)onetwofewother4 catégories
Espagnolcompter (un fichier, deux fichiers)onemanyother3 catégories
ordonner (1er, 2e, 3e)other1 catégories
Portugaiscompter (un fichier, deux fichiers)onemanyother3 catégories
ordonner (1er, 2e, 3e)other1 catégories
Françaiscompter (un fichier, deux fichiers)onemanyother3 catégories
ordonner (1er, 2e, 3e)oneother2 catégories
Arabecompter (un fichier, deux fichiers)zeroonetwofewmanyother6 catégories
ordonner (1er, 2e, 3e)other1 catégories

Ces tables ont été calculées à la construction de la page. Si elles ne correspondent pas à l’encadré ci-dessus, votre navigateur porte d’autres données CLDR — ce qui est en soi une information.

Quels nombres tombent dans quelle catégorie

Anglais
one1
other0, 2, 3, 4
Espagnol
one1
many1 000 000, 2 000 000, 10 000 000, 1 000 000 000
other0, 2, 3, 4
Portugais
one0, 1, 0,5, 1,5
many1 000 000, 2 000 000, 10 000 000, 1 000 000 000
other2, 3, 4, 5
Français
one0, 1, 0,5, 1,5
many1 000 000, 2 000 000, 10 000 000, 1 000 000 000
other2, 3, 4, 5
Arabe
zero0
one1
two2
few3, 4, 5, 6
many11, 12, 13, 14
other100, 101, 102, 200

Aussi disponible en : English · Español · Português · العربية

Règles de pluriel CLDR

Montre dans quelle catégorie de pluriel tombe n’importe quel nombre, dans cinq langues à la fois, avec les données qu’utilise votre navigateur.

Que sont les règles de pluriel ?

Si vous avez déjà écrit « 1 fichier(s) supprimé(s) », vous connaissez le problème que ces règles résolvent. Le français a besoin de deux formes — fichier et fichiers — et la rustine évidente consiste à tester si le compte vaut un. Elle casse dès que l’interface est traduite, car les langues ne s’accordent ni sur le nombre de formes ni sur les nombres qui reçoivent chacune.

Le CLDR, le dépôt de données de localisation d’Unicode, tranche en donnant à chaque langue un ensemble de catégories nommées, choisies parmi six possibilités : zero, one, two, few, many et other. Chaque langue emploie celles dont elle a besoin. Votre code écrit un message par catégorie et l’environnement choisit. Tous les navigateurs l’exposent via Intl.PluralRules : rien à télécharger, rien à maintenir.

L’outil ci-dessus pose cette question à cinq langues en même temps. Tapez un nombre et chacune dit dans quelle catégorie il tombe — et l’intéressant, c’est la fréquence de leurs désaccords, y compris sur des nombres qu’on n’imaginerait pas litigieux.

Comment s’en servir

  1. Tapez un nombre et lisez la colonne. Chaque langue indique la catégorie où ce nombre tombe. Commencez par 0 : l’anglais et l’espagnol le disent pluriel, le français et le portugais le disent singulier, et l’arabe lui donne une forme à lui. Trois sur cinq ne sont pas d’accord avec l’anglais à propos de rien du tout.
  2. Basculez entre compter et ordonner. Le cardinal, c’est un fichier, deux fichiers. L’ordinal, c’est 1er, 2e, 3e. Ce sont deux jeux de règles distincts avec des nombres de catégories distincts, et actionner le bouton est le moyen le plus rapide de voir à quel point une même langue les traite différemment.
  3. Essayez un intervalle. Le second contrôle emploie selectRange, dont presque personne ne soupçonne l’existence : il répond à la question de la forme que prend « 1-2 éléments ». En anglais, un intervalle de 1 à 1 n’est pas au singulier, ce qui surprend à peu près tout le monde.

Le renversement : c’est l’anglais le compliqué

L’idée reçue veut que les pluriels anglais soient simples et ceux des autres langues difficiles. Pour compter, c’est exact : l’anglais emploie deux catégories là où l’arabe en emploie six. L’arabe a une forme pour zéro, une pour un, un duel propre à exactement deux, une pour trois à dix, une autre pour onze à quatre-vingt-dix-neuf, et un cas général. Et c’est même modulaire : 103 prend la forme de 3, et 111 celle de 11.

Pour ordonner, tout s’inverse. L’anglais réclame quatre formes ordinales, parce que 1st, 2nd et 3rd portent des suffixes différents et que tout le reste prend -th — avec l’exception des teens, qu’aucune règle portant sur le seul dernier chiffre ne sait exprimer : c’est pourquoi 21st est « one » et 11th est « other ». L’arabe n’a besoin que d’une seule forme ordinale. L’espagnol aussi, le portugais aussi ; le français en demande deux.

Mettez les deux bout à bout et l’anglais est la seule de ces cinq langues à avoir plus de catégories ordinales que de catégories de pluriel. La langue qu’on dit simple est, sur cet axe, la plus exigeante du lot — et tout code qui fixe le suffixe ordinal anglais en regardant le dernier chiffre se trompera sur les teens.

Une autre bizarrerie mérite d’être tapée. Le français, l’espagnol et le portugais possèdent une troisième catégorie qui ne se déclenche que sur les multiples exacts d’un million. 999 999 est banal, 1 000 000 prend une forme spéciale, et 1 000 001 redevient banal.

Limites assumées

Une catégorie de pluriel n’est pas une traduction. Savoir qu’un nombre tombe dans « few » vous dit quel emplacement de message employer ; cela n’écrit pas le message. Ces règles portent sur l’accord grammatical, et les mots restent les vôtres.

Les catégories ne sont pas non plus tout l’accord. Beaucoup de langues fléchissent aussi en cas et en genre, et un décompte peut changer davantage que la terminaison du nom : l’arabe en particulier modifie la forme du nom et son cas selon le nombre. Les catégories du CLDR couvrent la part qu’une bibliothèque de messages peut automatiser, ce qui est réel mais partiel.

Les tables du bas ont été calculées à la construction de cette page ; l’encadré du haut emploie votre navigateur pendant que vous lisez. Les deux puisent dans le CLDR, mais un navigateur et un serveur de compilation peuvent porter des versions différentes, et le CLDR révise ses règles. Si les deux venaient à diverger sur votre écran, c’est l’encadré qui a raison pour vous, et la divergence est elle-même l’information utile — d’où l’affichage des deux plutôt qu’un choix.

Une chose que l’API JavaScript ne sait pas exprimer : le CLDR distingue 1 de 1,0, car une langue peut traiter « 1,0 mètre » comme un pluriel là où « 1 mètre » est singulier. En JavaScript ce sont le même nombre, donc passer 1.0 donne la réponse de 1. Pour obtenir l’autre, il faut formater la valeur en chaîne et laisser le formatage porter la décimale.

Enfin, cette page compare les cinq langues dans lesquelles le site est publié. Intl.PluralRules en connaît des centaines d’autres, et certaines se comportent d’une manière qu’aucune de ces cinq n’illustre : une langue peut avoir une catégorie qu’aucun entier n’atteint, si bien que compter vers le haut ne la révélerait jamais.

Pourquoi est-ce gratuit ?

Parce qu’il n’y a rien à payer. Les règles sont déjà dans votre navigateur ; cette page n’embarque aucune donnée, elle se contente de demander et d’afficher. Rien n’est envoyé et il n’y a pas de compte.

Les chiffres de l’article sont vérifiés par la suite de tests contre cette même API : si le CLDR révise une règle, le texte casse la compilation au lieu de devenir faux en silence. Lorsqu’une affirmation dépend d’une langue extérieure à ces cinq, les tests vont la chercher plutôt que de la déduire de celles qui sont à l’écran.