Pular para o conteúdo principal

5 postagens marcadas com "Intl"

Ver todas os Marcadores

`Intl.DisplayNames`

· Leitura de 4 minutos
Shu-yu Guo ([@_shu](https://twitter.com/_shu)) e Frank Yung-Fong Tang

Aplicações web que alcançam uma audiência global precisam exibir os nomes de exibição de idiomas, regiões, scripts e moedas em muitos idiomas diferentes. As traduções desses nomes requerem dados, que estão disponíveis no Unicode CLDR. Incluir esses dados como parte da aplicação implica em um custo no tempo de desenvolvimento. Os usuários provavelmente preferem traduções consistentes de nomes de idiomas e regiões, e manter esses dados atualizados com os acontecimentos geopolíticos do mundo exige manutenção constante.

`Intl.NumberFormat`

· Leitura de 4 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias)) e Shane F. Carr

Você pode já estar familiarizado com a API Intl.NumberFormat, já que tem sido suportada em ambientes modernos há algum tempo.

Na sua forma mais básica, Intl.NumberFormat permite criar uma instância de formatador reutilizável que suporta formatação de números sensível ao local. Assim como outras APIs Intl.*Format, uma instância de formatador suporta tanto o método format quanto o método formatToParts:

`Intl.ListFormat`

· Leitura de 4 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias)) e Frank Yung-Fong Tang

Aplicações web modernas frequentemente usam listas compostas de dados dinâmicos. Por exemplo, um aplicativo visualizador de fotos pode exibir algo como:

Esta foto inclui Ada, Edith, e Grace.

Um jogo baseado em texto pode ter um tipo diferente de lista:

Escolha seu superpoder: invisibilidade, psicocinese, ou empatia.

Como cada idioma tem convenções de formatação de listas e palavras diferentes, implementar um formatador de listas localizado não é trivial. Isso não só exige uma lista de todas as palavras (como “e” ou “ou” nos exemplos acima) para cada idioma que você deseja suportar — além disso, você precisa codificar as convenções de formatação exatas para todos esses idiomas! O Unicode CLDR fornece esses dados, mas para usá-los em JavaScript, eles precisam ser integrados e enviados junto com o restante do código da biblioteca. Isso, infelizmente, aumenta o tamanho do pacote para essas bibliotecas, o que impacta negativamente os tempos de carregamento, o custo de análise/compilação e o consumo de memória.

`Intl.RelativeTimeFormat`

· Leitura de 5 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias))

Aplicações web modernas frequentemente utilizam frases como “ontem”, “há 42 segundos” ou “em 3 meses” em vez de datas completas e carimbos temporais. Valores formatados como tempo relativo tornaram-se tão comuns que várias bibliotecas populares implementam funções utilitárias que os formatam de maneira localizada. (Exemplos incluem Moment.js, Globalize, e date-fns.)

`Intl.PluralRules`

· Leitura de 4 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias))

Iñtërnâtiônàlizætiøn é difícil. Lidar com plurais é um dos muitos problemas que podem parecer simples, até você perceber que cada idioma tem suas próprias regras de pluralização.

Para a pluralização em inglês, existem apenas dois resultados possíveis. Vamos usar a palavra “cat” como exemplo:

  • 1 cat, ou seja, a forma 'one', conhecida como singular em inglês
  • 2 cats, mas também 42 cats, 0.5 cats, etc., ou seja, a forma 'other' (a única outra), conhecida como plural em inglês.

A nova Intl.PluralRules API informa qual forma se aplica em um idioma de sua escolha com base em um número fornecido.

const pr = new Intl.PluralRules('en-US');
pr.select(0); // 'other' (ex: '0 cats')
pr.select(0.5); // 'other' (ex: '0.5 cats')
pr.select(1); // 'one' (ex: '1 cat')
pr.select(1.5); // 'other' (ex: '0.5 cats')
pr.select(2); // 'other' (ex: '0.5 cats')