Ir para o conteúdo

Início

O que é Verbaly?

Verbaly é um toolkit i18n open-source que inverte o fluxo habitual: você escreve texto natural no seu código e o compilador extrai as mensagens, gera chaves estáveis, tipos de TypeScript e bundles por idioma. Inclui o runtime core verbaly (~3 KB, zero dependências) mais pacotes por framework (@verbaly/react, @verbaly/vue, @verbaly/svelte) e plugins de build para Vite e todos os grandes bundlers.

Todo o ciclo write→ship vive em uma só ferramenta: init, extração ao vivo, tradução por máquina e humana, um gate de CI que falha com traduções faltando ou quebradas enquanto cada build as lista, e um renderer estático que publica as páginas já traduzidas. Os catálogos são JSON puro: sem formato proprietário, portável para qualquer TMS.

Como ele é

Você escreve a frase, no idioma em que pensa. Sem key, sem catálogo, sem chamada a init().

src/app.ts
import { t } from 'virtual:verbaly';

t`Hello ${name}, you have ${count} messages`;

O compilador lê isso e escreve o resto: uma chave tirada do próprio texto, e o seu catálogo de origem preenchido. Os outros idiomas esperam com uma string vazia que o verbaly check não te vai deixar publicar.

locales/en.json + locales/es.json
// en.json, generated from your source
{ "usNGUet6": "Hello {name}, you have {count} messages" }

// es.json, waiting: an empty string is a missing translation
{ "usNGUet6": "" }

Por que Verbaly?

Toda biblioteca de i18n traduz texto. A diferença está em quanto trabalho ela deixa com você. A resposta do Verbaly: o mínimo possível.

Type-safe de verdadeA própria mensagem declara seus parâmetros. Esqueça um, ou renomeie, e o TypeScript te para antes que um usuário veja.
Nada do que falta passa despercebidoCada build lista uma tradução faltando com a key exata a preencher, e o check do seu CI a barra ali.
Pequeno demais para notarO runtime pesa 3,31 KB sem dependências, cada idioma carrega só quando alguém o usa, e uma página pré-renderizada pode levar apenas as mensagens que mostra.
O ciclo inteiro em uma ferramentaExtrair, traduzir por máquina, entregar arquivos a tradutores humanos, verificar no CI e pré-renderizar páginas estáticas: tudo vem na mesma caixa.
Sem framework tambémO HTML simples também serve: você marca os elementos com data-verbaly e o interpretador de DOM preenche-os, repinta ao mudar de idioma e captura os nós que você acrescentar depois.
O seu agente consegue fazê-loUm servidor MCP expõe o ciclo inteiro como tools, por isso um agente de código configura, extrai, traduz e lê as suas mensagens sem que você lhe passe comandos.

O Verbaly é pré-1.0, então a API ainda pode mudar entre versões menores (cada mudança é anunciada no changelog). E se o que você precisa é um ecossistema gigante de plugins, o i18next tem anos disso. O que o Verbaly oferece é o mesmo trabalho com bem menos maquinário, e uma comparação honesta para conferir.

↑↓para navegarEnterpara abrir
Copiado para a área de transferência