Docs / Guías
Página traducida automáticamente
Añadir un idioma
Añade un nuevo locale de destino a un proyecto de verbatra con una línea de configuración y una ejecución de translate, sin tocar tus locales actuales.
Usa esto cuando un proyecto ya traduce a algunos idiomas y quieres uno más. Basta con cambiar una línea de la configuración y hacer una ejecución. verbatra ve el nuevo locale como si le faltaran todas las claves y lo rellena; tus locales actuales no cuestan nada, porque el archivo de bloqueo los sigue registrando como al día.
Necesitas un proyecto que ya funcione: una configuración, un archivo de locale de origen y una clave de proveedor. Si aún no lo tienes, empieza por el inicio rápido.
Añade el locale a tu configuración
Añade el código a targetLocales en verbatra.config.ts:
import { defineConfig } from "@verbatra/cli";
export default defineConfig({
sourceLocale: "en",
targetLocales: ["de", "fr"],
format: "i18next-json",
files: { pattern: "locales/{locale}.json" },
provider: { id: "gemini", options: { model: "gemini-2.5-flash", maxOutputTokens: 4096 } },
});Reglas de los códigos de locale
Escribe el código en forma BCP 47, con guion: pt-BR, no pt_. Si tus archivos usan guiones bajos, escribe igualmente pt-BR y pon files.localeStyle en posix; verbatra conserva el nombre de archivo pt_. Al cargar la configuración se rechazan un código no válido, el locale de origen y dos códigos que solo difieren en mayúsculas. Las reglas completas están en Códigos de locale, y con verbatra doctor ves si un proveedor admite el nuevo idioma.
Previsualiza el trabajo
Mira qué haría una ejecución antes de gastar nada:
verbatra diff --locales frEl nuevo locale aún no tiene archivo, así que todas las claves de origen aparecen como faltantes. Quita --locales para comprobar que tus otros locales no listan nada. diff no llama a ningún proveedor ni escribe nada. Para una estimación de coste, ejecuta verbatra translate --estimate; consulta Estima el coste antes de una ejecución.
Traduce
verbatra translateLa ejecución traduce todas las claves de origen al nuevo locale y escribe el archivo en tu files.pattern, aquí locales/fr.json. Solo el nuevo locale provoca llamadas al proveedor: los demás locales no tienen claves faltantes ni cambiadas respecto a su referencia en el archivo de bloqueo, así que no se envía nada por ellos.
Si la ejecución no conserva nada para el nuevo locale, porque todas las claves fallaron una comprobación, fallaron sus peticiones al proveedor o un presupuesto de tokens las retuvo, no se crea ningún archivo. Las claves siguen faltando y la siguiente ejecución las reintenta.
Después, verbatra check sale con 0 cuando todos los locales, incluido el nuevo, están sincronizados.
Idiomas con más categorías de plural
Algunos idiomas necesitan más formas de plural de las que tiene tu origen. El inglés tiene one y other; el polaco necesita cuatro, el árabe seis y el francés añade many. Por defecto, verbatra traduce las formas que tiene tu origen y no inventa las demás: la ejecución tiene éxito e informa de un aviso PLURAL_ que nombra lo que falta.
Generar las formas que faltan
Si usas JSON de i18next con un proveedor LLM, verbatra puede escribir las formas que faltan:
export default defineConfig({
// ...
generatePlurals: true,
});Las formas generadas pasan las mismas comprobaciones de integridad que cualquier traducción.
Formas a partir de CLDR
Qué formas necesita un idioma sale de las reglas de plural de CLDR integradas en Node.js, para cada idioma, ordinales incluidos. Los formatos ICU (next-intl y ARB) guardan un plural completo en un solo valor, así que no necesitan generación: al proveedor se le piden exactamente las ramas que usa el idioma de destino. En generatePlurals verás qué recurre al aviso, y en Plurales cómo decide verbatra qué formas necesita un idioma.
Sigue manteniendo solo el origen
A partir de ahora solo editas el locale de origen. Añade ahí una cadena y vuelve a ejecutar translate: verbatra la rellena en todos los destinos, incluido el que acabas de añadir.
Relacionado
verbatra translateyverbatra diff: todos los flags que usa esta página.- El archivo de configuración:
targetLocales,files.patternyfiles.localeStyle. - Soporte de idiomas: qué idiomas cubre cada proveedor, escrituras, variantes regionales y texto de derecha a izquierda.
- El archivo de bloqueo: por qué los locales existentes no cuestan nada al volver a ejecutar.