Guias

Formato de mensagens

Uma sintaxe pequena, com Intl nativo por baixo: plurais, gênero e formatação sem aprender ICU completo.

Interpolação

"Hola {name}"          → t('saludo', { name: 'Aron' })

Os valores se formatam sozinhos por tipo: números via Intl.NumberFormat, datas via Intl.DateTimeFormat, strings como estão. Um param faltando mostra o placeholder literal, fácil de notar e nunca um crash.

Formatters

Adicione :formatter (com /arg opcional) a um param:

SintaxeResultado
{n:number}Número do locale: 1,234.56 / 1234,56
{n:integer}Arredondado, sem decimais
{n:percent}0.550%
{n:currency/EUR}Moeda com código ISO
{d:date/long}dateStyle: short · medium · long · full
{d:time/short}Variantes de timeStyle

Os formatters custom se conectam na criação da instância. A assinatura completa é (value, locale, arg?) => string, onde locale é o idioma ativo e arg é o que vem depois do / no placeholder:

createVerbaly({
  formatters: { upper: (v) => String(v).toUpperCase() },
});
// "{word:upper}" → HOLA

Tempo relativo, listas e unidades

Desde 0.11.0 o formato cobre o resto do Intl moderno, ainda com zero dependências:

"Updated {when:relative}"       → Updated 2 hours ago · yesterday
"Ready {n:relative/day}"        → Ready in 3 days
"Works in {langs:list}"         → Works in English, Spanish, and Portuguese
"Pick {opts:list/or}"           → Pick red, green, or blue
"{d:unit/kilometer}"            → 3 km

Plurais e selects: uma só sintaxe

"{count | =0: sin mensajes | one: un mensaje | other: # mensajes}"
"{gender | male: él | female: ella | other: elle}"

Escape-hatch ICU

Tem strings ICU MessageFormat existentes, ou precisa da sintaxe exata dele? Escreva ICU e o Verbaly detecta automaticamente e o parseia no mesmo motor, com zero dependências extras.

"{count, plural, one {# item} other {# items}}"
"{gender, select, male {he} female {she} other {they}}"
"{n, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}"

Escapes

Você escreveVocê obtém
{{{ literal
}}} literal
||| literal dentro de variantes
### literal dentro de variantes
Copiado para a área de transferência