Saltar al contenido
Saltar al contenido

Docs / Guías

Página traducida automáticamente

Esta página se tradujo automáticamente, así que puede contener errores o sonar un poco rara. La versión en inglés es la fuente de la verdad. Leer el original en inglés.

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:

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_BR. Si tus archivos usan guiones bajos, escribe igualmente pt-BR y pon files.localeStyle en posix; verbatra conserva el nombre de archivo pt_BR.json. 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 fr

El 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 translate

La 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_CATEGORIES_INCOMPLETE 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:

verbatra.config.ts
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

Editar en GitHub

En esta página