Documentación

Traduce tu proyecto

Configure las traducciones para un proyecto, manténgalas actualizadas mediante Control de Calidad y conozca su coste.

Coroid traduce tu producto con el mismo motor que utiliza para sus propios trece idiomas. Tus catálogos permanecen como archivos en tu repositorio. Cualquier cambio en ellos llega como una tarea normal y pull request, y solo se envían al modelo las cadenas nuevas, modificadas o con errores.

Las traducciones se encuentran bajo Control de Calidad → Traducciones. La lista muestra cada proyecto, si las traducciones están configuradas y la última exploración realizada. Abre un proyecto para acceder a su mesa de trabajo.

Tienda online
Configurado · origen en · 4 locales de destino
ResumenConfiguraciónConfiguraciónColaboradoresSugerenciasAutomatizaciones
Última exploraciónVer hallazgosVer ejecución
LocaleFaltanteObsoleto
de02
fr140
ja141
ar140
  • TraduccionesControl de calidad de tareas y pull requests · solo cadenas modificadasPublicado
  • Auditoría de traduccionesProgramado · cada catálogo y página de localeBorrador

Control de calidad → Traducciones para un proyecto: la última comprobación de traducción por locale y los controles de auditoría de traducciones. Datos ilustrativos.

Lo que necesita tu repositorio

Coroid lee catálogos en estos formatos:

FormatoUso
ICU JSONArchivos de mensajes con plurales y selecciones de ICU
i18next JSONCatálogos de i18next y react-i18next, incluidos los sufijos de plural
Vue i18n JSONMensajes de vue-i18n, incluidos los mensajes vinculados y los plurales con pipe
Rails YAMLconfig/locales/*.yml, con %{name} interpolación y claves de plural
gettext PO.po archivos y una .pot plantilla, con Plural-Forms por idioma
Markdown y MDXPáginas de documentación dentro de una carpeta de idioma (docs/en/…): texto, descripciones de imágenes y campos de metadatos seleccionados; el código y el marcado se mantienen tal cual.
PersonalizadoCualquier otro formato, mediante un pequeño comando adaptador en tu repositorio.

Aún no necesitas traducciones. Si tu proyecto no tiene i18n, Coroid puede introducirlo.

Configurar

La Configuración pestaña guía a través de tres pasos.

  1. Detectar. Coroid prepara una tarea de detección. Ejecuta el motor de traducción definido contra tu repositorio y registra la pila tecnológica, los catálogos, cuál es el idioma fuente y todo aquello sobre lo que tenga dudas.
  2. Seleccionar. Elige Adoptar i18n existente para conservar tu entorno y catálogos y añadir las comprobaciones y el motor de diferencias de Coroid. Elige Introducir i18n para que Coroid configure tu entorno, extraiga las cadenas representativas y añada el enrutamiento de locales, respaldo y soporte para escritura de derecha a izquierda.
  3. Crear. Coroid crea la tarea de configuración con una Especificación y criterios de aceptación. Finaliza con un pull request que revisas como cualquier otro.
Tienda online
Aún no configurado · en proceso de configuración
ResumenConfiguraciónConfiguraciónColaboradoresSugerenciasAutomatizaciones
  1. Detectar
  2. 2Seleccionar
  3. 3Crear
Detectado: Next.js con next-intl · 3 catálogos de JSON · origen en
Adoptar la internacionalización existente

Mantenga su framework y catálogos actuales, y añada las comprobaciones de traducción y el motor de diferencias de Coroid.

Introducir la internacionalización

Conecte su framework, extraiga cadenas representativas y añada enrutamiento de locales, respaldo y comportamiento RTL.

Locale de origen
en
Locales de destino
de, fr, ja, ar
Continuar

La pestaña Configuración tras la detección: adoptar el i18n existente o introducirlo, con los locales de origen y destino. Datos ilustrativos.

La configuración estará lista una vez que ese pull request se fusione con la rama principal y Coroid lo sincronice. Hasta entonces, nada más en la mesa de trabajo lo tendrá en cuenta.

El archivo del repositorio

La configuración escribe .coroid/i18n.json. Describe tu repositorio, por lo que permanece en él y se modifica mediante pull requests:

{
  "version": 1,
  "cli": { "version": "1.7.0", "sha256": "…" },
  "sourceLocale": "en",
  "targetLocales": ["de", "fr", "ja", "ar"],
  "catalogs": [
    {
      "id": "ui",
      "format": "i18next-json",
      "source": "messages/{locale}.json"
    }
  ],
  "localeTier": { "ja": "escalation" }
}
  • cli fija la versión exacta del motor y su suma de comprobación. Coroid descarga y verifica esa versión antes de cada ejecución, para que una actualización nunca altere tu resultado de forma inesperada.
  • sourceLocale puede ser cualquier idioma. Un origen sueco traducido al inglés y al alemán funciona de la misma manera.
  • localeTier solicita la ruta de traducción más avanzada para un locale. Tú eliges un nivel, nunca un modelo.

El archivo también puede contener un glosario, términos protegidos, contexto del producto e instrucciones específicas por locale.

Para modificarlo, edita la propuesta en la Configuración pestaña y selecciona Proponer cambio. Coroid abre una tarea que aplica exactamente ese archivo y corrige las traducciones afectadas por el cambio.

En la misma pestaña se encuentran los ajustes propios de Coroid y no de tu repositorio: qué sitios pueden abrir el selector de sugerencias, si las sugerencias se revisan por defecto y el límite de gasto en traducciones del proyecto.

Revisar cada cambio

Las traducciones pasan a formar parte de la verificación mediante dos controles de calidad. Agrégalas desde la Resumen pestaña.

  • Traducciones se ejecuta en la QA de tareas y en los pull requests. Solo comprueba las cadenas que ha tocado un cambio.
  • Auditoría de traducciones se ejecuta según un programa. Comprueba cada catálogo y locale e incluso puede incluir una prueba del navegador de las páginas del locale, para verificar el diseño de derecha a izquierda, desbordamientos y texto sin traducir en la página.

Al añadir un control se prepara un borrador de política. Revísalo y publícalo bajo Políticas de calidad para activarlo.

Cada problema se convierte en un hallazgo con un código de incidencia:

CódigoSignificadoBloquea por defecto
missingLa cadena no tiene traducciónSí
invalid_syntaxLa traducción no se puede analizar, por ejemplo por un ICU rotoSí
placeholder_mismatchLos marcadores de posición difieren del origenSí
plural_categoriesFalta una forma plural necesaria para esta configuración regionalSí
staleEl origen se modificó después de traducir la cadenaNo

Usted elige qué códigos bloquear en la configuración del control. El glosario y las reglas de longitud y términos prohibidos informan sus propios códigos cuando su archivo los configura.

Control de calidad
Resultados de las últimas ejecuciones, filtrados según la comprobación de traducciones.
PolíticasHallazgos4Ejecuciones
  • missingui · checkout.total · frNo traducido
  • staleui · nav.deals · deEl origen cambió desde la traducción
  • placeholder_mismatchui · cart.items · jaLos marcadores diferén del origen
  • plural_categoriesui · cart.count · arFaltan formas plurales para este locale

Hallazgos de calidad del control de traducciones, un código de incidencia por hallazgo. Datos ilustrativos.

Cuando un bloqueo de traducción impide una tarea, el agente desarrollador lo soluciona siempre de la misma manera: abre una sesión de traducción para la tarea y ejecuta el motor sobre las cadenas modificadas. Nunca edita manualmente los catálogos de destino.

El modelo Traductor

La traducción tiene su propio rol en los perfiles de AI, Traductor, junto a Arquitecto, Desarrollador, QA y Revisor. Por defecto utiliza Hy-MT2, un modelo de traducción, con GPT-6 Luna como respaldo, siempre que la política de su organización lo permita. Cambie la asignación en un perfil de AI igual que cualquier otro rol.

El motor también agrupa las cadenas por tamaño, valida cada respuesta frente a sus marcadores de posición y reglas de plurales, y reintenta o eleva una cadena que falle.

Costes

Las traducciones están disponibles en todos los planes. Las llamadas de traducción pasan por la puerta de enlace de traducción de Coroid y se facturan como uso del modelo a su organización, al igual que las ejecuciones de agentes. Las tareas de configuración cuentan para las horas de agente de su plan como cualquier otra tarea.

Con la ruta de Traductor predeterminada, traducir cuesta unos dos centavos por 1.000 cadenas por idioma. Traducir un catálogo de 2.000 cadenas a diez idiomas costó aproximadamente 0,33 $ según nuestras mediciones.

  • Solo los cambios generan costes. El motor mantiene una caché indexada por el texto original, de modo que las cadenas sin cambios nunca se envían de nuevo.
  • Cada tarea tiene un límite de traducción. Una sesión se detiene al alcanzar el límite de gasto de la tarea, que por defecto es de 1 $. Un proyecto puede establecer un límite inferior bajo Configuración → Acceso y gasto.
  • Las Comprobaciones no realizan llamadas al modelo. El control de Traducciones y la auditoría leen sus catálogos; no realizan traducciones.

Traducir fuera de Coroid

El motor es una herramienta de línea de comandos, coroid-i18n. Su propio CI puede ejecutar la misma versión específica con su propia clave de OpenRouter. Dentro de Coroid, las tareas siempre usan la puerta de enlace de traducción, de modo que el gasto y los límites permanezcan en un solo lugar.