FreeToGenerate.com

O inglês tem menos formas de plural do que estas outras quatro línguas e mais formas ordinais. O árabe é exatamente o contrário. Nada é enviado.

Experimente

Experimente 0: três destas cinco línguas discordam do inglês quanto a ele. Depois experimente 1000000.

O que o seu navegador diz

InglêsotherO recurso geral. Todas as línguas a têm, e algumas não têm mais nenhuma.
EspanholotherO recurso geral. Todas as línguas a têm, e algumas não têm mais nenhuma.
PortuguêsoneO singular — embora que números contam como singular não seja igual em toda a parte.
FrancêsoneO singular — embora que números contam como singular não seja igual em toda a parte.
ÁrabezeroUma forma para o nada, que a maioria das línguas não tem.

Calculado aqui e agora pelo seu próprio navegador. É a única resposta que pode afetar o seu código.

dea

A parte da API que quase ninguém sabe que existe. Em inglês, um intervalo de 1 a 1 não é singular.

A mesma pergunta sobre um intervalo

Inglêsother
Espanholother
Portuguêsone
Francêsone
Árabeother

Todas as categorias que cada língua usa

Inglêscontar (um ficheiro, dois ficheiros)oneother2 categorias
ordenar (1.º, 2.º, 3.º)onetwofewother4 categorias
Espanholcontar (um ficheiro, dois ficheiros)onemanyother3 categorias
ordenar (1.º, 2.º, 3.º)other1 categorias
Portuguêscontar (um ficheiro, dois ficheiros)onemanyother3 categorias
ordenar (1.º, 2.º, 3.º)other1 categorias
Francêscontar (um ficheiro, dois ficheiros)onemanyother3 categorias
ordenar (1.º, 2.º, 3.º)oneother2 categorias
Árabecontar (um ficheiro, dois ficheiros)zeroonetwofewmanyother6 categorias
ordenar (1.º, 2.º, 3.º)other1 categorias

Estas tabelas foram calculadas quando a página foi construída. Se não coincidirem com a caixa acima, o seu navegador tem dados CLDR diferentes — o que já é uma informação útil.

Que números caem em que categoria

Inglês
one1
other0, 2, 3, 4
Espanhol
one1
many1.000.000, 2.000.000, 10.000.000, 1.000.000.000
other0, 2, 3, 4
Português
one0, 1, 0,5, 1,5
many1.000.000, 2.000.000, 10.000.000, 1.000.000.000
other2, 3, 4, 5
Francês
one0, 1, 0,5, 1,5
many1.000.000, 2.000.000, 10.000.000, 1.000.000.000
other2, 3, 4, 5
Árabe
zero0
one1
two2
few3, 4, 5, 6
many11, 12, 13, 14
other100, 101, 102, 200

Também disponível em: English · Español · Français · العربية

Regras de plural CLDR

Mostra em que categoria de plural cai qualquer número, em cinco línguas ao mesmo tempo, com os mesmos dados que o seu navegador usa.

O que são as regras de plural?

Se alguma vez escreveu «1 ficheiro(s) eliminado(s)», já se cruzou com o problema que estas regras resolvem. O português precisa de duas formas — ficheiro e ficheiros — e o remendo ingénuo é ver se a contagem é um. Esse remendo parte-se assim que a interface é traduzida, porque as línguas não coincidem nem em quantas formas existem nem em que números levam cada uma.

O CLDR, o repositório de dados de localização do Unicode, resolve isso dando a cada língua um conjunto de categorias com nome, escolhidas entre seis possibilidades: zero, one, two, few, many e other. Cada língua usa as de que precisa. O seu código escreve uma mensagem por categoria e o ambiente escolhe. Todos os navegadores expõem isto através do Intl.PluralRules, portanto não há nada para descarregar nem para manter.

A ferramenta acima faz essa pergunta a cinco línguas ao mesmo tempo. Escreva um número e cada uma diz em que categoria ele cai — e o interessante é a frequência com que discordam, mesmo em números que não pareceriam polémicos.

Como usar

  1. Escreva um número e leia a coluna. Cada língua indica a categoria em que esse número cai. Comece pelo 0: o inglês e o espanhol chamam-lhe plural, o francês e o português chamam-lhe singular, e o árabe dá-lhe uma forma própria. Três em cinco discordam do inglês acerca do nada.
  2. Alterne entre contar e ordenar. Cardinal é um ficheiro, dois ficheiros. Ordinal é 1.º, 2.º, 3.º. São conjuntos de regras diferentes com contagens de categorias diferentes, e mexer no interruptor é a forma mais rápida de ver como a mesma língua trata os dois de maneiras distintas.
  3. Experimente um intervalo. O segundo controlo usa o selectRange, que quase ninguém sabe que existe: responde que forma toma «1-2 itens». Em inglês, um intervalo de 1 a 1 não é singular, o que surpreende quase toda a gente.

A inversão: o complicado é o inglês

A ideia feita é que os plurais ingleses são simples e os das outras línguas difíceis. Para contar, é verdade: o inglês usa duas categorias onde o árabe usa as seis. O árabe tem uma forma para o zero, outra para o um, um dual próprio para exatamente dois, outra para três a dez, outra para onze a noventa e nove, e um caso geral. E ainda por cima é modular: 103 toma a mesma forma que 3, e 111 a mesma que 11.

Para ordenar, inverte-se por completo. O inglês precisa de quatro formas ordinais, porque 1st, 2nd e 3rd levam sufixos diferentes e tudo o resto leva -th, com a exceção dos teens, que nenhuma regra sobre o último algarismo sozinho consegue exprimir: é por isso que 21st é «one» e 11th é «other». O árabe precisa de exatamente uma forma ordinal. O português também, e o espanhol também; o francês precisa de duas.

Junte as duas coisas e o inglês é a única destas cinco línguas com mais categorias ordinais do que de plural. A língua que se diz simples é, neste eixo, a mais exigente do grupo — e qualquer código que fixe o sufixo ordinal inglês olhando para o último algarismo vai errar nos teens.

Há outra esquisitice que vale a pena escrever. O português, o espanhol e o francês têm uma terceira categoria que só se ativa em múltiplos exatos de um milhão. 999 999 é vulgar, 1 000 000 toma uma forma especial, e 1 000 001 volta a ser vulgar.

Limites honestos

Uma categoria de plural não é uma tradução. Saber que um número cai em «few» diz-lhe que espaço de mensagem usar; não escreve a mensagem. As regras são de concordância gramatical, e as palavras continuam a ser suas.

As categorias também não são toda a concordância. Muitas línguas flexionam ainda por caso e por género, e uma contagem pode mudar mais do que a terminação do substantivo: o árabe em particular muda a forma do substantivo e o seu caso conforme o número. As categorias do CLDR cobrem a parte que uma biblioteca de mensagens consegue automatizar, que é real mas parcial.

As tabelas mais abaixo foram calculadas quando esta página foi construída; a caixa em cima usa o seu navegador enquanto lê. Ambas bebem do CLDR, mas um navegador e um servidor de compilação podem levar versões diferentes, e o CLDR revê regras. Se alguma vez discordarem no seu ecrã, a caixa é a que acerta para si, e a discordância é em si a informação útil — é por isso que a página mostra as duas em vez de escolher uma.

Uma coisa que a API de JavaScript não consegue exprimir: o CLDR distingue 1 de 1,0, porque uma língua pode tratar «1,0 metros» como plural onde «1 metro» é singular. Em JavaScript são o mesmo número, portanto passar 1.0 dá-lhe a resposta do 1. Para obter a outra é preciso formatar o valor como texto e deixar a formatação levar a casa decimal.

Por fim, esta página compara as cinco línguas em que o site é publicado. O Intl.PluralRules conhece centenas mais, e algumas comportam-se de maneiras que nenhuma destas cinco ilustra: uma língua pode ter uma categoria a que nenhum número inteiro chega, portanto por muito que se conte para cima ela não aparece.

Porque é grátis

Porque não há nada a pagar. As regras já estão no seu navegador; esta página não inclui dados nenhuns, só pergunta e mostra. Nada é enviado e não há conta.

Os números do artigo são verificados pelo conjunto de testes contra a mesma API, portanto se o CLDR rever uma regra o texto parte a compilação em vez de se tornar falso em silêncio. Quando uma afirmação depende de uma língua fora destas cinco, os testes recorrem a essa língua em vez de a darem por boa a partir das que estão à vista.