Saltar al contenido

Traduce solo lo que cambió.

verbatra compara tu locale de origen con un archivo de bloqueo confirmado, envía solo las claves nuevas y modificadas al proveedor que elijas y deja intactas todas las demás.

npm i -D @verbatra/cli
Última versión
@verbatra/cli 0.11.1
Formatos de archivo
14
Proveedores
6
Licencia
MIT

Funciona con los archivos de locale que ya tienes.

Cada ejecución es un diff, no una reescritura.

verbatra translate

Una sesión de ejemplo de verbatra en la línea de comandos.

  1. verbatra translate
    • diff en.json · 2 nuevas · 1 cambiada · 117 sin cambios
    • de 3 traducidas · 117 sin tocar · 0 retenidas
    • es 3 traducidas · 117 sin tocar · 0 retenidas
    • fr 3 traducidas · 117 sin tocar · 0 retenidas
    • ✓ 9 claves traducidas en 1,8 s · 351 sin tocar · bloqueo actualizado

El archivo de bloqueo

Un hash por clave y locale, confirmado junto a tus archivos.

verbatra.lock.json
{ "de": {
"inbox.title": "a1b2c3d4e5f6a7b8",
"inbox.count": "9f8e7d6c5b4a3210"
} }

Escrito, y solo eso

de.json después de la ejecución.

{
"inbox": {
"title": "Posteingang",nueva
"count": "{count} neue Nachrichten"conservada
}
}

Rechazado antes de llegar al archivo

Retenido, nunca escrito, enviado de nuevo en la siguiente ejecución.

clave
inbox.count
candidata
"Neue Nachrichten"
falta
{count}
motivo
placeholder
conservada
"{count} neue Nachrichten"
  1. 1. Configura

    Locale de origen, destinos, un proveedor.

  2. 2. Compara

    Nuevas, cambiadas, sin cambios o huérfanas, frente al archivo de bloqueo.

  3. 3. Traduce

    Solo salen las claves nuevas y cambiadas.

  4. 4. Verifica y escribe

    Los resultados rotos se retienen, el resto se escribe.

El resto del ciclo de traducción, en la misma herramienta.

Entrega un libro a los traductores e impórtalo de vuelta.

Exporta, recíbelo relleno e impórtalo por la misma puerta de integridad.

Leer sobre la entrega en Excel
verbatra export
verbatra import translations.xlsx
claveorigendestino
cart.payPay nowBezahlen
cart.totalTotalGesamt
nav.homeHomeStart

Consulta el estado de cada locale en Verbatra Studio.

Cobertura, entradas marcadas, ediciones in situ. Sin llamadas al proveedor.

Revisar traducciones en Studio
Verbatra Studio
La página de Revisión de Verbatra Studio con cinco entradas marcadas en los locales de, es y fr; cada fila muestra la clave, sus motivos de revisión y las acciones Edit, Approve y Reject.

Ejecútalo al guardar, en CI o desde una GitHub Action.

watch traduce con cada cambio. check hace fallar el pull request cuando un locale se desvía.

Configurar CI
verbatra check --json
{ "command": "check",
  "result": { "inSync": false, "locales": [
    { "locale": "de", "missing": 0, "stale": 2 }
  ] } }

O déjaselo a tu agente.

Un servidor MCP, más skills instalables para la CLI, MCP y Studio.

Empezar con IA
npx skills@latest add verbatra/skills --skill verbatra-cli -y
verbatra mcp

llms.txtllms-full.txtDocumentación del servidor MCPverbatra/skills

Lo que realmente obtienes.

El alemán, el español y el francés de esta página salen de ahí.

Pagas por las claves que has cambiado.
Solo las claves nuevas y cambiadas van al proveedor, y cada ejecución imprime su recuento de tokens por locale.
de: 2 translated, 281 unchanged, 468 tokens (394 in, 74 out)una ejecución sobre los mensajes de este sitio
Un placeholder roto nunca llega a producción.
Una traducción candidata que pierde un placeholder, rompe ICU o desequilibra el marcado se retiene, nunca se escribe y se envía de nuevo en la siguiente ejecución.
de: 1 translated, 0 unchanged, 1 integrity-withheldla misma puerta de integridad protege las ediciones en Studio y las importaciones
La deriva de un locale hace fallar el pull request.
verbatra check sale con código 1 cuando falta algún locale o está desactualizado, con --json para CI.
docs-i18n-check.ymleste sitio lo ejecuta en cada pull request
Tus términos y tu tono se mantienen fijos.
Un glosario fija cómo se traducen los términos listados; tone define un tono formal, informal o neutro.
glossary: { verbatra: "verbatra" }, tone: "informal"el verbatra.config.ts de este sitio
Cada traducción es un diff de git.
Los archivos de locale y el archivo de bloqueo son texto plano en tu repo, y nada se elimina sin --prune.
verbatra.lock.jsonun hash por clave y locale de destino
Personas y otras herramientas pueden tomar el relevo.
Exportación e importación de Excel para traductores, TMX para la memoria de traducción y tipos de TypeScript generados para tus claves.
export, import, tmx, typescuatro de los catorce comandos

Preguntas frecuentes

JSON para i18next, vue-i18n, next-intl y ngx-translate, además de XLIFF, YAML, Flutter ARB, .properties de Java/Spring, .strings de Apple y los String Catalogs de Xcode, strings.xml de Android, archivos .po/.pot de gettext, INI y .resx de .NET. Eso cubre React, Next.js, Vue, Nuxt, Angular, SvelteKit, Astro, Node.js, Spring, Flutter, iOS, macOS, Android y cualquier stack basado en gettext. verbatra lee los archivos que ya tienes; no hay ningún formato propio de verbatra al que migrar.

Mantiene un archivo de bloqueo confirmado que registra lo que ya se tradujo. Cada ejecución compara tu locale de origen con ese archivo de bloqueo y envía solo las claves nuevas o modificadas a tu proveedor. Las claves sin cambios no se tocan nunca, así que una ejecución típica cuesta un puñado de cadenas, no todo tu catálogo.

Seis, detrás de una sola interfaz: Anthropic, OpenAI y Gemini (LLM), DeepL y Google Cloud Translation (traducción automática), y openai-compatible, que apunta verbatra a un servidor local o autoalojado como Ollama, LM Studio o vLLM. Eliges uno por su id en tu configuración y puedes cambiarlo más adelante editando esa única línea. Gemini tiene un nivel gratuito de verdad, y un modelo local no cuesta nada por llamada.

Cada resultado pasa unas comprobaciones de integridad de placeholders e ICU antes de escribirse. Una traducción que omite, inventa o reordena un placeholder, o que produce una sintaxis de mensaje ICU inválida, se retiene en lugar de guardarse en tu archivo de locale. La misma puerta de integridad se aplica a las ediciones y retraducciones hechas en Verbatra Studio.

verbatra en sí es gratuito y de código abierto bajo la licencia MIT. El único coste es el uso de tu proveedor, y ese lo controlas tú: traduce solo lo que cambió, y puedes ejecutarlo gratis en el nivel gratuito de Gemini o en un modelo local compatible con OpenAI.

Deja de sincronizar los archivos de locale a mano.

npm i -D @verbatra/cli
Leer la documentación