Documentación

Internacionalizar un proyecto

Ejecute el asistente de Internacionalización para hacer un proyecto multilingüe. Coroid lee el repositorio, sugiere idiomas y configuraciones, y prepara una pull request.

El asistente de internacionalización hace que un proyecto sea multilingüe. Lee tu repositorio, comienza cada paso a partir de lo que encuentra y termina con una tarea que abre un pull request. Nunca tendrás que escribir un código de idioma ni editar JSON; solo cambia lo que desees, y nada se modificará en tu repositorio hasta que realices la fusión.

Los propietarios y administradores ejecutan el asistente. Inícialo desde Globalización → Internacionalización: selecciona Internacionalizar un proyecto, o Iniciar el asistente en la fila del proyecto. Para un proyecto que ya es multilingüe, Configuración → Cambiar idiomas en su entorno de trabajo abre el mismo asistente para proponer cambios.

Los pasos

1. Escanear

Coroid lee la rama predeterminada sin ejecutar ningún código. Busca catálogos y sus idiomas, los frameworks en uso y el texto escrito directamente en el código, contado por archivo.

  • Catálogos encontrados. El asistente los conserva: Coroid añade sus comprobaciones y traduce lo que falta. Esto se denomina adoptar.
  • Aún no hay catálogos. Coroid mueve el texto de tu código a los catálogos y lo reemplaza por búsquedas. Esto se denomina introducir.
  • Ya configurado. El proyecto ya cuenta con una configuración de Coroid, y el asistente propone cambios para ella.

2. Idioma fuente

Es el idioma en el que está escrito el producto; todos los demás idiomas se traducen a partir de él. El asistente lo detecta a partir de tus catálogos o lo adivina por el texto del código. Cualquier idioma puede ser el fuente: un producto en sueco traducido a inglés y alemán funciona de la misma manera.

3. Idiomas

Selecciona los idiomas uno por uno, o añade todo un mercado de una vez: Los más hablados, Europa, Países nórdicos, Asia oriental, Las Américas o De derecha a izquierda. Cada idioma muestra su nombre propio, si se escribe de derecha a izquierda y cuántas formas plurales necesita.

Las variantes regionales pueden derivarse en lugar de traducirse. El inglés británico se deriva del inglés estadounidense con ortografía británica, y el alemán suizo del alemán con ortografía suiza, por lo que no tienen coste y se mantienen alineados con su idioma padre.

Internacionalización
Asistente de internacionalización

Cada paso comienza con el contenido ya existente en el repositorio. Modifique solo lo que desee; nada se aplicará hasta que se fusione el pull request.

Paso 3 de 8
Idiomas a añadir

Seleccione los idiomas uno por uno o añada un mercado completo. Las variantes regionales, como el inglés británico, pueden generarse mediante reglas en lugar de requerir traducción manual.

5 idiomas
  • Deutschalemán · de · 2 formas plurales
  • Françaisfrancés · fr · 3 formas plurales
  • 日本語japonés · ja · 1 forma plural
  • العربيةárabe · ar · derecha a izquierda · 6 formas plurales
  • British Englishinglés británico · en-GB · 2 formas pluralesDerivado con ortografía británica
Añadir un mercado
Más habladoEuropaPaíses nórdicosAsia orientalLas AméricasDerecha a izquierda
AtrásContinuar

El asistente de Internacionalización en su paso de Idiomas: cada idioma con su dirección de escritura y formas plurales, el inglés británico generado mediante reglas, y mercados para añadir de una sola vez. Datos ilustrativos.

4. Cadenas de texto

Al adoptar, selecciona los catálogos que Coroid mantendrá traducidos; sus claves y estructura permanecerán iguales. Al introducir, selecciona los archivos cuyo texto Coroid moverá a los catálogos; los archivos que excluyas seguirán igual.

5. Estilo y términos

Todo es opcional y se aplicará en todos los idiomas:

  • Formal o informal. Para los idiomas que dirigen al lector de forma formal o informal, como el alemán Sie y du. Por defecto, cada uno sigue el tono del texto fuente.
  • Términos mantenidos tal cual. Los nombres de productos, marcas y funciones que permanecen iguales en todos los idiomas.
  • Información sobre el producto. Unas pocas frases sobre el producto y sus lectores, que ayudan a cada traducción a elegir las palabras adecuadas.

6. Cultura

Cada mercado escribe las fechas, números y precios a su manera. Selecciona cómo el código formatea para el lector: el asistente sugiere el formateador del framework que encontró, como next-intl o react-intl, o describe el tuyo propio. Luego selecciona la moneda que usa cada mercado; cada una empieza con la del propio territorio. Cada mercado muestra una fecha y número de ejemplo, el día en que comienzan sus semanas y su tamaño de papel. Los agentes de Coroid siguen ambas opciones; consulta Cultura.

7. Calidad y automatización

Activados por defecto, y cada uno se puede cambiar después:

  • Revisar las traducciones en cada cambio. La Comprobación de globalización envía un cambio cuando falten cadenas o estén rotas, o cuando se añada texto al código en lugar del catálogo.
  • Traducir cadenas fusionadas fuera de Coroid. Cuando alguien fusiona nuevo texto sin Coroid, una tarea lo traduce.
  • Aplicar correcciones todas las noches. Las sugerencias aprobadas de los colaboradores llegan como un pull request cada noche.
  • Permitir que las personas invitadas sugieran redacción. Los lectores nativos que invites pueden corregir traducciones en tu sitio. Consulta Mantener traducciones con sugerencias.

El archivo de configuración guarda la última opción. Coroid activa las demás la próxima vez que un propietario o administrador abra Globalización después de que se fusione el pull request, y solo una vez: si desactivas alguna más tarde, permanecerá desactivada.

8. Revisión

Un resumen del proyecto: qué hará la tarea, el idioma de origen, los idiomas y cuáles son derivados, el volumen de traducción, los términos que se mantienen tal cual, el formateador y las monedas, y qué ocurre tras la fusión. La traducción se cobra como uso del modelo, al igual que otras tareas de agentes, y tiene un límite por tarea.

Seleccionar Internacionalizar. Coroid crea una tarea con una Especificación y criterios de aceptación y la inicia de inmediato.

Qué hace la tarea

  • Adopción escribe el archivo de configuración tal como lo ha compuesto el asistente y luego traduce todas las cadenas que falten.
  • Presentación conecta tu framework, mueve el texto de los archivos seleccionados a los catálogos, añade enrutamiento de idiomas, mecanismos de respaldo y soporte para escritura de derecha a izquierda, y después traduce.
  • Modificación escribe la nueva configuración y corrige las traducciones afectadas por el cambio.

La tarea finaliza en un único pull request. Una vez fusionada en la rama predeterminada, todos los idiomas aparecerán en Localización, y World readiness analizará el código para detectar si todavía supone un único idioma.

Formatos

Coroid lee los catálogos en estos formatos:

FormatoÚsalo para
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
YAML de Railsconfig/locales/*.yml, con %{name} interpolación y claves de plural
PO de gettext.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.

El archivo de configuración

El asistente escribe .coroid/i18n.json. Describe tu repositorio, por lo que reside en él y se modifica mediante pull requests:

{
  "version": 1,
  "cli": { "version": "1.16.0", "sha256": "…" },
  "sourceLocale": "en",
  "targetLocales": ["de", "fr", "ja", "ar"],
  "derivedLocales": [
    { "locale": "en-GB", "from": "en", "rules": "en-gb-spelling" }
  ],
  "catalogs": [
    {
      "id": "ui",
      "format": "i18next-json",
      "source": "messages/{locale}.json"
    }
  ],
  "protectedTerms": ["Storefront"],
  "localeInstructions": {
    "de": "Address the reader informally (du)."
  },
  "world": {
    "formatter": "useFormatter from next-intl",
    "currencies": { "de": "EUR", "fr": "EUR", "ja": "JPY", "ar": "SAR" }
  }
}
  • cli indica la versión exacta del motor y su suma de verificación. Coroid descarga y verifica esa versión antes de cada ejecución, para que una actualización no altere los resultados de forma inesperada.
  • derivedLocales muestra las variantes regionales generadas según las reglas.
  • protectedTerms y localeInstructions contienen lo que elegiste bajo Estilo y términos, y world lo que elegiste bajo Cultura. El Control de Globalización enumera el resto de world.

El archivo también puede contener un glosario, contexto del producto, rutas de traducción por idioma y la vinculación de sugerencias para colaboradores.

Configuración → Archivo de configuración en el área de trabajo muestra el archivo exacto de la rama predeterminada. Para modificarlo allí, edita la propuesta y selecciona Proponer cambio: Coroid abre una tarea que aplica ese archivo exactamente y corrige las traducciones afectadas por el cambio. Para idiomas y estilo, el asistente es la opción más sencilla.