Saltar al contenido

Inicio

¿Qué es Verbaly?

Verbaly es un toolkit i18n open-source que invierte el flujo habitual: escribes texto natural en tu código y el compilador extrae los mensajes, genera claves estables, tipos de TypeScript y bundles por idioma. Incluye el runtime core verbaly (~3 KB, cero dependencias) más paquetes por framework (@verbaly/react, @verbaly/vue, @verbaly/svelte) y plugins de build para Vite y todos los bundlers grandes.

Todo el ciclo write→ship vive en una sola herramienta: init, extracción en vivo, traducción a máquina y humana, un gate de CI que falla con traducciones faltantes o rotas mientras cada build las lista, y un renderer estático que publica las páginas ya traducidas. Los catálogos son JSON plano: sin formato propietario, portable a cualquier TMS.

Qué pinta tiene

Escribes la frase, en el idioma en el que piensas. Sin key, sin catálogo, sin llamada a init().

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

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

El compilador lee eso y escribe el resto: una clave sacada del propio texto, y tu catálogo fuente relleno. Los demás idiomas esperan con una cadena vacía que verbaly check no te va a dejar 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 qué Verbaly?

Toda librería de i18n traduce texto. La diferencia está en cuánto trabajo te deja encima. La respuesta de Verbaly: el mínimo posible.

Type-safe de verdadEl propio mensaje declara sus parámetros. Olvida uno, o renómbralo, y TypeScript te frena antes de que lo vea un usuario.
Nada de lo que falta pasa desapercibidoCada build lista una traducción faltante con la key exacta a completar, y el check de tu CI la para ahí.
Tan pequeño que no se notaEl runtime pesa 3,31 KB sin dependencias, cada idioma se carga solo cuando alguien lo usa, y una página pre-renderizada puede llevar solo los mensajes que enseña.
Todo el ciclo en una herramientaExtraer, traducir a máquina, pasar archivos a traductores humanos, verificar en CI y pre-renderizar páginas estáticas: todo viene en la misma caja.
Sin framework tambiénEl HTML plano también vale: marcas los elementos con data-verbaly y el intérprete de DOM los rellena, los repinta al cambiar de idioma y recoge los nodos que añadas después.
Tu agente puede hacerloUn servidor MCP expone el ciclo entero como tools, así que un agente de código configura, extrae, traduce y lee tus mensajes sin que le pases comandos.

Verbaly es pre-1.0, así que la API todavía puede cambiar entre versiones menores (cada cambio se anuncia en el changelog). Y si lo que necesitas es un ecosistema gigante de plugins, i18next lleva años ahí. Lo que Verbaly ofrece es el mismo trabajo con mucha menos maquinaria, y una comparación honesta para comprobarlo.

↑↓para moverteEnterpara abrir
Copiado en el portapapeles