Docs / Primeros pasos
Página traducida automáticamente
Inicio rápido
Instala la CLI, genera una configuración, previsualiza la ejecución sin clave de API y traduce tu primer archivo de locale.
Al final de esta página, un archivo de locale en inglés tiene un hermano en alemán, escrito por un proveedor y comprobado por verbatra, además del archivo de bloqueo que hace que cada ejecución posterior traduzca solo lo que cambió. Necesitas Node.js ^22.18.0 || >=24 y unos diez minutos. Los primeros cuatro pasos no necesitan cuenta ni clave de API.
¿Ya tienes archivos de locale y un agente de programación?
Dale a tu agente el prompt de Configura verbatra con un agente de IA. Configura verbatra en torno a los archivos de locale que tu proyecto ya tiene y se detiene antes de gastar nada. Los pasos de abajo empiezan desde cero.
Hay un inicio rápido que además carga el archivo traducido en tu app para React, Next.js, Vue, Angular y Flutter.
Pasos
Instala la CLI
npm install --save-dev @verbatra/cliLos comandos de abajo usan npx. Con pnpm, yarn o bun, ejecuta pnpm verbatra, yarn verbatra o bun run verbatra. Si pnpm termina con ERR_, consulta Solución de problemas.
Añade un archivo de locale de origen
Si tu proyecto ya tiene archivos de locale, sáltate este paso. Si no, crea uno:
{
"greeting": "Hello, {{name}}!",
"cart": {
"empty": "Your cart is empty."
}
}Genera una configuración
npx @verbatra/cli init --format i18next-json --provider gemini --yes--format indica el formato de tus archivos: Elige tu stack tiene el id de cada framework. --yes acepta lo que init detectó en lugar de preguntar; sin él, respondes a las preguntas que enumera verbatra init.
created verbatra.config.ts
created .env.example
created .gitignore (.env, .env.local, .verbatra-local/, verbatra.cache.json)
detected format i18next-json, pattern locales/{locale}.json, locales en (confidence: medium)
next steps:
- Copy .env.example to .env and set GEMINI_API_KEY there. Never commit .env.
- npx @verbatra/cli doctor (Check the setup. It calls no provider and reads no key value.)
- npx @verbatra/cli translate --dry-run (Preview what a run would translate, without calling the provider.)El nuevo verbatra.config.ts traduce de en a de. Añade códigos a targetLocales para más idiomas.
Previsualiza la ejecución sin clave
npx @verbatra/cli translate --dry-runverbatra: dry run over 1 locale, no provider call
verbatra: de done, 2 would translate
verbatra translate (dry run)
de: 2 would translate, 0 unchanged
1 succeeded, 0 partial, 0 failed (dry run: nothing written)
[ok] dry run done in 0.0s, nothing written
next: verbatra translate (run it for real)Esta es la forma en un terminal interactivo; con una tubería o en CI, cada paso tiene además su propia línea, consulta Salida en el terminal. Una ejecución de prueba no construye ningún proveedor, así que no necesita clave, no gasta nada y no escribe nada. verbatra doctor comprueba el resto de la configuración de la misma forma.
Traduce
cp .env.example .envAbre .env y pega tu clave después de GEMINI_. Las claves solo vienen del entorno, y la CLI carga en él .env.local y .env. ¿Aún no tienes clave? Gemini tiene un nivel gratuito: crea una en Google AI Studio. Los demás proveedores y sus variables están en Proveedores.
npx @verbatra/cli translateverbatra envía las dos claves que faltan a Gemini, comprueba cada resultado y escribe el archivo en alemán. El resumen empieza con de: 2 translated, 0 unchanged e indica los tokens que usó la ejecución. El texto depende del modelo, por ejemplo:
{
"greeting": "Hallo, {{name}}!",
"cart": {
"empty": "Dein Warenkorb ist leer."
}
}Comprueba que cada locale está sincronizado
npx @verbatra/cli check[ok] checking the locales (0.0s)
verbatra check
de: 0 missing, 0 stale, 2 up-to-date (in sync)
all locales in synccheck no llama a ningún proveedor y termina con 1 en cuanto un locale deja de estar sincronizado, así que el mismo comando puede proteger un pull request.
Qué acaba de pasar
locales/de.jsontiene las mismas claves en el mismo orden que tu origen, y{{name}}sobrevivió: un resultado que pierde un marcador de posición se retiene y nunca se escribe. Consulta Seguridad de la traducción.verbatra.lock.jsonguarda un hash del texto de origen detrás de cada traducción, para que la siguiente ejecución envíe solo claves nuevas y modificadas. Consulta El archivo de bloqueo.verbatra.provenance.jsonregistra qué proveedor y qué modelo escribió cada valor. Consulta Procedencia.verbatra.cache.jsony.verbatra-local/contienen la caché de traducción regenerable y el estado local de la ejecución.initya los añadió a.gitignore. Consulta La caché.
Haz commit de los archivos de locale, el archivo de bloqueo y el archivo de procedencia juntos, para que cada máquina y tu CI comparen contra la misma base.
Siguiente
Añadir un idioma
Añade un locale de destino y deja que una ejecución lo complete.
Ejecutar verbatra en CI
Haz fallar un pull request cuando un locale se desvía.
Cómo funciona una ejecución
El pipeline detrás de los comandos que acabas de ejecutar.
Archivo de configuración
Todo lo que puede contener verbatra.config.ts.