Cole uma mensagem real
Use um modelo ICU MF1 ou carregue os exemplos de plural, select e aninhamento. O exemplo inválido mostra a falta do ramo obrigatório other. Sintaxe MF2, como {$name}, não é convertida por esta página.
Ferramentas de localização
Execute uma mensagem ICU tradicional com argumentos JSON e compare sete números sem alterar a entrada.
Adicione um argumento plural ou selectordinal para ver os limites.
A mensagem e os argumentos são processados apenas nesta aba; nada é enviado.
As categorias de plural vêm do Intl deste navegador. A versão CLDR varia conforme o navegador e pode diferir da do app.
O resultado está desatualizado. Teste novamente antes de exportar.
Uma tradução pode funcionar para 1 e sair errada para 11. Ao testar mensagens ICU, veja lado a lado a categoria de plural e a frase pronta de cada valor, inclusive ramos exatos como =0.
Use esta página para testar mensagens ICU uma por vez antes de publicar: encontre argumentos ausentes, problemas de sintaxe e select aninhado. FormatJS executa o modelo, e o Intl do navegador fornece as regras de plural. Se o app usa outro runtime, confirme o resultado também nele.
Uma prévia isolada não mostra todos os ramos da tradução.
Ao testar mensagens ICU, o painel roda 0, 1, 2, 5, 11, 21 e 101. O ramo exato =0 ganha prioridade sobre a categoria calculada. A tabela mostra a categoria e a saída completa de cada número; os argumentos originais ficam intactos.
O marcador {name} precisa de uma chave JSON com a mesma grafia. O teste aponta valores ausentes e a posição de erros de sintaxe. Ramos plural e select aninhados são interpretados pelo mesmo parser, sem deixar marcadores não resolvidos passarem como resultado válido.
Use um modelo ICU MF1 ou carregue os exemplos de plural, select e aninhamento. O exemplo inválido mostra a falta do ramo obrigatório other. Sintaxe MF2, como {$name}, não é convertida por esta página.
Informe um objeto JSON cujas chaves coincidam exatamente com os marcadores. Mude o locale BCP 47 e veja se o mesmo número escolhe outra categoria. Os dados CLDR do navegador não têm uma versão fixa aqui.
Escolha uma variável numérica e compare sobretudo 0, 1, 11 e 21. O teste só substitui temporariamente essa variável; ele não muda o JSON. A cópia e o download ficam bloqueados quando a entrada muda.
Para testar mensagens ICU, a análise e a execução usam o mesmo FormatJS. O MF1 inclui plural, select, selectordinal, offset, aninhamento e formatação numérica básica.
Regras de pluralização fazem mais sentido com frases completas. A matriz apresenta valor, categoria e texto, inclusive as diferenças entre 11 e 21 que podem passar despercebidas em uma prévia única.
A validação de sintaxe ICU mostra linha e coluna quando o parser informa esses dados. JSON inválido, argumentos ausentes e locales indisponíveis têm mensagens distintas; saída antiga não pode ser copiada.
O modo automático espera você parar de digitar. Carregar um exemplo ou limpar abre uma prévia com contagem de caracteres; após aplicar, há uma chance de desfazer entrada e resultado.
Escreva argumentos nomeados no modelo e forneça as mesmas chaves no objeto JSON. Para contagens, use plural. O painel identifica chaves ausentes e valores não numéricos quando o ramo exige um número.
Mantenha other e inclua as categorias necessárias para o locale. Ao testar mensagens ICU, compare a frase gerada para 0, 1, 2, 5, 11, 21 e 101; não presuma que one e other resolvem todos os idiomas.
Use select com valores explícitos como female, male e other. O teste escolhe o ramo fornecido no JSON; ele não deduz gênero pelo nome de uma pessoa.
Os recursos XML do Android têm um fluxo próprio. Aqui você pode pré-visualizar uma cadeia MF1 e o efeito do locale; a página não importa XML nem substitui o teste dentro do aplicativo Android.
Além do identificador de idioma, o sistema precisa de dados de formatação e regras adequadas. Esta página usa o suporte Intl do navegador para aquela locale; uma app com outro runtime ou pacote CLDR deve ser verificada separadamente.
Encontrou uma saída diferente da do seu app?
Mude count no exemplo e compare as saídas para 11 e 21.
Volte a testar mensagens ICU quando uma tradução falhar apenas para um valor específico.
Processamento local neste navegador.