---
title: "Verbatra: CLI i18n que traduce solo las claves modificadas"
description: "Verbatra, CLI y SDK de i18n de código abierto, halla las claves que faltan o cambiaron en tus archivos de locale y traduce solo esas con tu clave de proveedor."
---

# Traduce solo lo que cambió

Verbatra aplica hash a cada clave en un archivo de bloqueo, envía solo las claves modificadas a tu proveedor y hace fallar la CI ante desviaciones.

- [Empezar](https://verbatra.kreitz-webdev.de/es/docs/quickstart.md)
- [Comparar con otras herramientas](https://verbatra.kreitz-webdev.de/es/compare)

```sh
npm i -D @verbatra/cli
```

## Funciona con los archivos de locale y los proveedores que ya usas

### Formatos de archivo

- i18next JSON
- vue-i18n JSON
- next-intl JSON
- ngx-translate JSON
- XLIFF
- YAML
- Flutter ARB
- Java/Spring .properties
- Apple .strings
- Xcode String Catalog
- Android strings.xml
- gettext .po/.pot
- INI
- .NET .resx

[Todos los formatos](https://verbatra.kreitz-webdev.de/es/docs/formats.md)

### Proveedores

- Anthropic
- OpenAI
- Gemini
- DeepL
- Google Cloud Translation
- OpenCode
- OpenAI-compatible
- LibreTranslate

[Todos los proveedores](https://verbatra.kreitz-webdev.de/es/docs/providers.md)

## Una ejecución, una configuración regional

2 claves salen de tu máquina, 12 se quedan

```text
de: 2 translated, 12 unchanged, 359 tokens (318 in, 41 out)
```

## Todo alrededor del diff

Una CLI, un SDK, un Studio local y un servidor MCP, todos leyendo el mismo archivo de bloqueo.

### Traducir: Volver a traducir todo cuesta más

Solo 4 de 28 traducciones son nuevas o han cambiado, así que solo 4 van a tu proveedor.

```text
$ npx @verbatra/cli translate
  de: 2 translated, 12 unchanged, 359 tokens (318 in, 41 out)
  fr: 2 translated, 12 unchanged, 366 tokens (322 in, 44 out)
  total: 725 tokens (640 in, 85 out)
2 succeeded, 0 partial, 0 failed
```

### Comprobación: Las claves que faltan llegan a producción

`exit 1`

La comprobación sale con 1 mientras a un locale le faltan claves. No necesita clave de API, así que se ejecuta en cada pull request.

### Integridad: Un placeholder roto estropea una pantalla

- de: Willkommen zurück, {name}!
- es: ¡Bienvenido de nuevo, {name}!
- fr: Bienvenue, {name} !
- ja: おかえりなさい、{name}さん！

### Agentes: Tu agente de codificación arregla las traducciones

Registra el servidor MCP para el proyecto, y el agente puede leer el estado y arreglar las traducciones. Las herramientas que gastan tokens del proveedor siguen desactivadas hasta que las permitas.

```sh
claude mcp add --transport stdio --scope project verbatra -- npx -y @verbatra/mcp
```

## Traduce una cadena con el SDK

Elige una cadena y mira cómo la llamada al SDK la traduce a todos los idiomas a continuación. Los marcadores de posición se quedan exactamente en su sitio.

Pre-generado con el SDK de Verbatra y Gemini, no en vivo.

- Proveedor: Gemini
- Modelo: `gemini-2.5-flash`
- Generado: 16 de octubre de 2026

Cada resultado pre-generado, una fila por cadena de origen:

| Origen (inglés) | Alemán | Español | Francés | Japonés |
| --- | --- | --- | --- | --- |
| Save changes | Änderungen speichern | Guardar cambios | Enregistrer les modifications | 変更を保存 |
| Sign in | Anmelden | Iniciar sesión | Se connecter | サインイン |
| Welcome back, {name}! | Willkommen zurück, {name}! | ¡Bienvenido de nuevo, {name}! | Bienvenue, {name} ! | おかえりなさい、{name}さん！ |
| You have {count} new messages | Sie haben {count} neue Nachrichten | Tienes {count} mensajes nuevos | Vous avez {count} nouveaux messages | {count}件の新しいメッセージがあります |
| Your cart is empty. | Ihr Warenkorb ist leer. | Tu carrito está vacío. | Votre panier est vide. | カートは空です。 |
| Delete this file? | Diese Datei löschen? | ¿Eliminar este archivo? | Supprimer ce fichier ? | このファイルを削除しますか？ |
| Don't show this again | Nicht wieder anzeigen | No mostrar esto de nuevo | Ne plus afficher ceci | 今後表示しない |
| Settings | Einstellungen | Configuración | Paramètres | 設定 |
| Only changed keys get translated. | Es werden nur geänderte Schlüssel übersetzt. | Solo las claves modificadas se traducen. | Seules les clés modifiées sont traduites. | 変更されたキーのみが翻訳されます。 |
| Verbatra | Verbatra | Verbatra | Verbatra | Verbatra |

```ts title="translate.ts"
import { defineConfig, loadConfig, translate } from "@verbatra/sdk";

const config = await loadConfig({
  configOverride: defineConfig({
    sourceLocale: "en",
    targetLocales: [
      "de",
      "es",
      "fr",
      "ja",
    ],
    format: "next-intl-json",
    files: { pattern: "messages/{locale}.json" },
    provider: {
      id: "gemini",
      options: { model: "gemini-2.5-flash", maxOutputTokens: 2048 },
    },
  }),
});

const summary = await translate({ config });
```

Leer más:

- [Inicio rápido del SDK](https://verbatra.kreitz-webdev.de/es/docs/sdk-quickstart.md)
- [Referencia del SDK](https://verbatra.kreitz-webdev.de/es/docs/sdk.md)
- [Proveedores](https://verbatra.kreitz-webdev.de/es/docs/providers.md)

## Características: Diseñado para todo el flujo de trabajo de traducción

Desde la primera cadena en tu código fuente hasta la traducción revisada en producción.

- [Revisa en Studio](https://verbatra.kreitz-webdev.de/es/docs/cli/studio.md): Un panel de control local sobre tu proyecto: explora cada locale, trabaja en la cola de revisión y edita valores directamente.
- [Pasa el testigo a personas](https://verbatra.kreitz-webdev.de/es/docs/cli/export.md): Exporta un libro de Excel, CSV, TSV o XLIFF para un traductor e impórtalo de nuevo. Los valores importados permanecen protegidos de futuras ejecuciones de traducción automática.
- [Extrae del código fuente](https://verbatra.kreitz-webdev.de/es/docs/cli/extract.md): Escanea tu código en busca de llamadas de traducción y añade las nuevas claves al locale de origen antes de que nadie las traduzca.
- [Vigila mientras desarrollas](https://verbatra.kreitz-webdev.de/es/docs/cli/watch.md): Mantén un vigilante ejecutándose en desarrollo, y cada cambio en el locale de origen se traduce a medida que guardas.
- [Claves tipadas](https://verbatra.kreitz-webdev.de/es/docs/cli/types.md): Genera declaraciones de TypeScript para tus claves y argumentos de mensaje, de modo que un error tipográfico en una clave falle la compilación.
- [Sabe antes de gastar](https://verbatra.kreitz-webdev.de/es/docs/cli/doctor.md): Doctor comprueba la configuración sin una clave de API, y una estimación calcula el tamaño de una ejecución antes de que cueste nada.

## Antes de instalar Verbatra

Respuestas cortas, cada una con la página de documentación que profundiza.

### ¿Es Verbatra gratuito?

Sí. Verbatra es gratuito y de código abierto bajo la [licencia MIT](https://github.com/verbatra/verbatra/blob/main/LICENSE), y solo pagas a tu proveedor por las claves que cambiaron; [estimar el coste](https://verbatra.kreitz-webdev.de/es/docs/estimating-cost.md) calcula antes una ejecución.

### ¿Qué proveedores de traducción soporta Verbatra?

Anthropic, OpenAI, Gemini, DeepL, Google Cloud Translation, OpenCode, OpenAI-compatible y LibreTranslate. Elige uno en el bloque `provider`, o `none` si solo traducen personas; detalles en [proveedores](https://verbatra.kreitz-webdev.de/es/docs/providers.md).

### ¿Verbatra envía mis cadenas o claves de API a algún lugar?

Solo al proveedor que configures, cuando un comando traduce; no hay telemetría. Las claves permanecen en variables de entorno, y el [manejo de datos](https://verbatra.kreitz-webdev.de/es/docs/data-handling.md) enumera lo que recibe cada proveedor.

### ¿Puede Verbatra hacer que falle una pull request cuando faltan traducciones?

Sí. `verbatra check` sale con código 1 si un locale tiene claves faltantes u obsoletas, sin clave de API; la [GitHub Action](https://verbatra.kreitz-webdev.de/es/docs/github-action.md) lo ejecuta en las pull requests.

### ¿En qué se diferencia Verbatra de otras herramientas de i18n?

Es una CLI que corre en tus archivos con commit, no una plataforma alojada. La [página de comparación](https://verbatra.kreitz-webdev.de/es/compare) la contrasta con otras herramientas, con fuentes, incluso donde son más fuertes.

En la documentación:

- [Inicio rápido](https://verbatra.kreitz-webdev.de/es/docs/quickstart.md)
- [Seguridad de la traducción](https://verbatra.kreitz-webdev.de/es/docs/translation-safety.md)
- [Comparación completa](https://verbatra.kreitz-webdev.de/es/compare)

## Empieza con una ejecución de prueba

Antes de que gastes un token

Este camino es para un proyecto que ya tiene archivos de locale, y ninguno de los pasos necesita una clave de API.

```sh
npx @verbatra/cli init
npx @verbatra/cli translate --dry-run
```

- [Procedencia de npm](https://www.npmjs.com/package/@verbatra/cli)
- [Licencia MIT](https://github.com/verbatra/verbatra/blob/main/LICENSE)
- [La CLI no envía telemetría](https://verbatra.kreitz-webdev.de/es/docs/data-handling.md)
- [Umbral de cobertura del 90%](https://codecov.io/gh/verbatra/verbatra)
- [Flujo de trabajo de CI](https://github.com/verbatra/verbatra/actions/workflows/ci.yml)
