Localización continua: cada idioma, en cada fusión.
La localización continua traduce las cadenas nuevas y modificadas a medida que cambia el código, en lugar de hacerlo en una fase separada antes de cada lanzamiento. Cada idioma está siempre listo para publicarse junto con el código que lo requiere.
¿Qué es la localización continua?
La localización continua es una forma de trabajar en la que las cadenas nuevas y modificadas se envían a traducción automáticamente tan pronto como cambian, y el texto traducido vuelve al producto sin que nadie tenga que programarlo.
No existe una fase de traducción, porque la traducción nunca se detiene. Un desarrollador fusiona una cadena, las traducciones llegan siguiendo el mismo flujo que el código y un lanzamiento no depende del archivo de nadie.
Es la mitad de localización de la entrega continua. Un equipo que fusiona cada día y entrega la traducción cada pocas semanas tiene idiomas rezagados respecto a su código durante la mayor parte del mes. La localización continua reduce esa brecha a la duración de una ejecución.
No significa que el resultado automático se publique sin revisión. Tú decides qué cadenas necesitan intervención humana y un lanzamiento puede incluir solo lo que haya sido revisado.
La diferencia es cuándo ocurre la traducción, no quién la hace.
| Lo que cambia | Entrega por lotes | Continua |
|---|---|---|
| Lado a lado | ||
| Cuándo ocurre la traducción | En una fase antes de cada lanzamiento | A medida que cambia cada cadena |
| Qué lo inicia | Alguien exporta un archivo | Un push, un merge o un cambio de contenido |
| El tamaño de cada parte | Semanas de cadenas a la vez | Las cadenas en un solo cambio |
| Qué espera un lanzamiento | Que el archivo vuelva | Revisión, en las cadenas que marcaste para ello |
| Un cambio tardío en la copia | Otro viaje de ida y vuelta | Una nueva ejecución de esa única clave |
| Con qué trabaja el traductor | Una hoja de cálculo de cadenas | La fila, con sus términos de glosario, coincidencias de memoria y capturas de pantalla |
| Idiomas en el lanzamiento | Escalonados, una ola tras otra | Junto con la funcionalidad |
- Cuándo ocurre la traducción
- En una fase antes de cada lanzamiento
- Qué lo inicia
- Alguien exporta un archivo
- El tamaño de cada parte
- Semanas de cadenas a la vez
- Qué espera un lanzamiento
- Que el archivo vuelva
- Un cambio tardío en la copia
- Otro viaje de ida y vuelta
- Con qué trabaja el traductor
- Una hoja de cálculo de cadenas
- Idiomas en el lanzamiento
- Escalonados, una ola tras otra
- Cuándo ocurre la traducción
- A medida que cambia cada cadena
- Qué lo inicia
- Un push, un merge o un cambio de contenido
- El tamaño de cada parte
- Las cadenas en un solo cambio
- Qué espera un lanzamiento
- Revisión, en las cadenas que marcaste para ello
- Un cambio tardío en la copia
- Una nueva ejecución de esa única clave
- Con qué trabaja el traductor
- La fila, con sus términos de glosario, coincidencias de memoria y capturas de pantalla
- Idiomas en el lanzamiento
- Junto con la funcionalidad
Cómo funciona la localización continua
Sigue una nueva cadena a través del ciclo. Cada paso muestra lo que realmente verías.
El cambio llega a Transglot a través de la CLI, la acción de GitHub o la aplicación en tu host de Git. Los archivos fuente se analizan en uno de los 20 formatos nativos y cada cadena se compara con lo que el proyecto ya tiene. Solo continúan las cadenas nuevas y modificadas.
Una coincidencia exacta de la memoria de traducción completa la fila y no cuesta palabras. Lo que queda pasa a Glossa con tu glosario, tu guía de estilo y el contexto de esa clave.
Los marcadores de posición, las formas plurales, los términos del glosario y la longitud se verifican en cada fila de cada ejecución. Un marcador de posición roto, una forma plural faltante o un término prohibido del glosario se reparan una vez y se vuelven a verificar; si fallan una segunda vez, se rechazan y no se envían. Una fila que solo supera su longitud se escribe y, desde el plan Team, la aprobación automática o una ejecución de QA la marca para revisión.
Una ejecución nunca sobrescribe una fila que una persona haya editado o revisado. Si su origen cambia más tarde, el texto se mantiene, la ejecución cuenta la fila y te informa, y desde el plan Team una actualización sugerida espera junto a ella para que alguien la acepte.
Las aplicaciones de Git confirman los archivos de localización en una rama de sincronización y mantienen una solicitud de extracción actualizada. En GitHub, comenta /translate en una solicitud de extracción y los archivos aterrizan en la rama propia de esa solicitud. O publícalos en la CDN, y el producto en producción lee el cambio sin necesidad de ningún lanzamiento.
Seis formas en que la localización continua falla, y qué detiene cada una
Una ejecución sobrescribe el trabajo de una persona
Cada escritor verifica primero el estado de la fila: una ejecución, una coincidencia de memoria y un push. Una fila que una persona ha editado o revisado se mantiene, y la ejecución lo informa.
→fr, revisado, origen recién cambiado
✓conservado, contado, informado
Una cadena rota llega a producción
Cada token que entró tiene que salir. En un proyecto ICU, un mensaje que causaría un error al renderizarse se excluye de la solicitud de extracción, el conector y el paquete de la CDN, y la ejecución lo identifica.
→{count, plural, one {# article}
✓excluido del archivo, identificado en la ejecución
El repositorio se llena de solicitudes de extracción de bots
Una rama de sincronización y una solicitud de extracción por repositorio. Dos envíos rápidos convergen en ella en lugar de abrir una segunda.
→#812 #815 #819 #823 actualización de l10n
✓#812 transglot/sync, actualizado in situ
Una edición del origen deja atrás las traducciones antiguas
Cada fila de destino registra el origen contra el que se escribió, por lo que se sabe que una cadena modificada está desactualizada en todos los idiomas a la vez, y solo esa clave se vuelve a ejecutar.
→Guardar pasó a ser Guardar borrador. fr, de, ja aún dicen Save
✓fr, de, ja se vuelven a ejecutar para esa única clave
Cada ejecución factura todo el proyecto de nuevo
El tamaño de una ejecución depende de lo que ha cambiado. No se envía una cadena sin cambios, una coincidencia exacta de memoria no tiene coste de palabras y se rechaza una fila propiedad de una persona antes de gastar nada.
→el archivo contiene 48 000 palabras
✓esta ejecución: 60 palabras
Una solicitud de extracción incompleta borra un archivo de locale
Si el servidor no informa entradas para un locale, la solicitud de extracción se niega a sobrescribir un archivo con contenido y sale con código 1 para detener la canalización ahí.
→pull: 0 entradas para ja, el archivo contiene 1204
✓negándose a sobrescribir locales/ja.json con un paquete vacío
- run 4182 fr: marcador de posición faltante en el borrador, reparado al reintentar
- run 4182 de: 3 filas conservadas, una persona es propietaria de ellas
- run 4182 ja: 41 filas desde la memoria, 0 palabras
- run 4183 ar: forma plural faltante tras el reintento, fila rechazada
- pull escrito locales/pt-BR.json
- sync transglot/sync actualizado, solicitud de extracción #812
Los tres se conectan a tu repositorio. Lo que difiere es lo que ocurre al fusionar.
Leído de las páginas propias de cada empresa el 5 de noviembre de 2026. La fila de precios proviene de nuestras páginas de comparación, vinculadas más abajo, que muestran el plan y el cálculo. Los precios y planes cambian, así que consúltalos antes de decidir.
| Qué ocurre | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Se fusiona una nueva cadena | Traducido por defecto El push inicia la ejecución. Una configuración del proyecto la desactiva. | Traducido una vez configurado Las automatizaciones están desactivadas de forma predeterminada al crear claves e importar archivos. Un flujo de trabajo con un paso de IA se ejecuta según su programación. | Traducido una vez que lo activas En Configuración, Traducción automática, se ejecuta en cada carga. La sincronización con Git se ejecuta cada hora de forma predeterminada. |
| Una traducción no supera una comprobación | Reparado una vez, luego rechazado Para un marcador de posición roto, una forma plural o un término prohibido, en cada fila de cada ejecución. Se registra un exceso de longitud. En un proyecto ICU, una fila con errores queda fuera del pull, los conectores y la CDN. | Una comprobación de nivel Error detiene el guardado en el editor Cada comprobación se configura como Desactivada, Advertencia o Error. | Una comprobación de nivel Error detiene el guardado Cada comprobación se configura como Advertencia o Error. |
| Una persona ya ha editado la fila | La ejecución se niega a escribirlo También ocurre con una coincidencia de memoria y un push. Si la fuente cambia más tarde, la ejecución informa de la fila. | Las automatizaciones rellenan los valores vacíos de forma predeterminada Una opción de forzamiento y una acción de borrado sobrescriben los valores rellenados. | Las opciones conservan las filas humanas y aprobadas También existe una opción para reemplazar todo. |
| Pull requests en un repositorio muy activo | Una rama, un pull request Actualizado in situ en cada push. | Una nueva rama para cada pull request Nombrada con una marca de tiempo. | Una rama de servicio, sincronizada cada hora Cada hora es el valor predeterminado y el intervalo se puede cambiar. |
| Lo que cuenta el plan | Palabras traducidas, una vez por idioma Las coincidencias exactas de memoria no tienen coste. Almacenar una cadena no tiene coste. | Palabras procesadas Tanto el idioma base como el destino cuentan. | Palabras alojadas Palabras para traducir, veces idiomas de destino. |
| Lo que paga la IA | Las palabras del plan No se factura por separado. | Asignaciones de palabras de IA por plan Las palabras de IA estándar y Pro son líneas independientes del plan. | Un saldo separado o tu propia clave La IA gestionada de Crowdin se paga con créditos, fuera de la suscripción. |
| El mismo trabajo: 5,000 cadenas en 10 idiomas | $39 al mes Team, traducción incluida | $1,049 al mes Advanced (billed yearly) | $138 al mes Pro with 560K hosted words (billed monthly), IA adicional |
| GitHub, GitLab, Bitbucket, Azure Repos, una CLI y un servidor MCP | Todos ellos Las aplicaciones de Git comienzan en el plan Team y cubren las ediciones en la nube. | Todos ellos Las integraciones están en todos los planes. | Todos ellos También cubre Bitbucket Server. |
- Se fusiona una nueva cadena
- Traducido por defectoEl push inicia la ejecución. Una configuración del proyecto la desactiva.
- Una traducción no supera una comprobación
- Reparado una vez, luego rechazadoPara un marcador de posición roto, una forma plural o un término prohibido, en cada fila de cada ejecución. Se registra un exceso de longitud. En un proyecto ICU, una fila con errores queda fuera del pull, los conectores y la CDN.
- Una persona ya ha editado la fila
- La ejecución se niega a escribirloTambién ocurre con una coincidencia de memoria y un push. Si la fuente cambia más tarde, la ejecución informa de la fila.
- Pull requests en un repositorio muy activo
- Una rama, un pull requestActualizado in situ en cada push.
- Lo que cuenta el plan
- Palabras traducidas, una vez por idiomaLas coincidencias exactas de memoria no tienen coste. Almacenar una cadena no tiene coste.
- Lo que paga la IA
- Las palabras del planNo se factura por separado.
- El mismo trabajo: 5,000 cadenas en 10 idiomas
- $39 al mesTeam, traducción incluida
- GitHub, GitLab, Bitbucket, Azure Repos, una CLI y un servidor MCP
- Todos ellosLas aplicaciones de Git comienzan en el plan Team y cubren las ediciones en la nube.
- Se fusiona una nueva cadena
- Traducido una vez configuradoLas automatizaciones están desactivadas de forma predeterminada al crear claves e importar archivos. Un flujo de trabajo con un paso de IA se ejecuta según su programación.
- Una traducción no supera una comprobación
- Una comprobación de nivel Error detiene el guardado en el editorCada comprobación se configura como Desactivada, Advertencia o Error.
- Una persona ya ha editado la fila
- Las automatizaciones rellenan los valores vacíos de forma predeterminadaUna opción de forzamiento y una acción de borrado sobrescriben los valores rellenados.
- Pull requests en un repositorio muy activo
- Una nueva rama para cada pull requestNombrada con una marca de tiempo.
- Lo que cuenta el plan
- Palabras procesadasTanto el idioma base como el destino cuentan.
- Lo que paga la IA
- Asignaciones de palabras de IA por planLas palabras de IA estándar y Pro son líneas independientes del plan.
- El mismo trabajo: 5,000 cadenas en 10 idiomas
- $1,049 al mesAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, una CLI y un servidor MCP
- Todos ellosLas integraciones están en todos los planes.
- Se fusiona una nueva cadena
- Traducido una vez que lo activasEn Configuración, Traducción automática, se ejecuta en cada carga. La sincronización con Git se ejecuta cada hora de forma predeterminada.
- Una traducción no supera una comprobación
- Una comprobación de nivel Error detiene el guardadoCada comprobación se configura como Advertencia o Error.
- Una persona ya ha editado la fila
- Las opciones conservan las filas humanas y aprobadasTambién existe una opción para reemplazar todo.
- Pull requests en un repositorio muy activo
- Una rama de servicio, sincronizada cada horaCada hora es el valor predeterminado y el intervalo se puede cambiar.
- Lo que cuenta el plan
- Palabras alojadasPalabras para traducir, veces idiomas de destino.
- Lo que paga la IA
- Un saldo separado o tu propia claveLa IA gestionada de Crowdin se paga con créditos, fuera de la suscripción.
- El mismo trabajo: 5,000 cadenas en 10 idiomas
- $138 al mesPro with 560K hosted words (billed monthly), IA adicional
- GitHub, GitLab, Bitbucket, Azure Repos, una CLI y un servidor MCP
- Todos ellosTambién cubre Bitbucket Server.
Inícialo desde donde vivan tus cadenas. Cada puerta llega al mismo pipeline.
Cómo configurar la localización continua
- 01
Extraer las cadenas del código
Cada cadena visible para el usuario necesita una clave estable en un archivo de idioma. Transglot lee 20 formatos, así que mantén el que ya tienes.
jsonyamlxliffarb - 02
Conectar el repositorio
El comando init encuentra tus archivos de idioma, te inicia sesión a través del navegador, sube lo que ya tienes y ejecuta la primera traducción.
npx transglot@latest init - 03
Ejecutarlo en cada merge
Añade la GitHub Action, llama al CLI desde cualquier otro CI o instala la aplicación para GitHub, GitLab, Bitbucket o Azure Repos.
transglot push --wait - 04
Decidir qué requiere intervención humana
Establece min_state en reviewed en una regla de pull request y ese archivo solo incluirá cadenas revisadas por una persona. Déjalo desactivado y los borradores se publicarán.
min_state: reviewed
Lo que cuesta ejecutarlo en cada merge: las palabras que han cambiado.
Una palabra es una palabra origen, contada una vez por idioma destino. Una ejecución se dimensiona según lo que ha cambiado, por lo que un merge que afecta a doce palabras en cinco idiomas cuenta como sesenta, sin importar el tamaño del proyecto.
Encaja en Starter: $19/mo, 300,000 palabras al mes.
Esto representa aproximadamente el 9% del límite.
Esto solo cuenta la traducción. Las comprobaciones de calidad, los borradores de voz de marca y las correcciones también cuentan como palabras, y las coincidencias exactas de la memoria no tienen coste. El CLI y la GitHub Action comienzan en Starter, y las aplicaciones para GitHub, GitLab, Bitbucket y Azure Repos comienzan en Team.
Tres cosas que la localización continua no resuelve
Cadenas aún atrapadas en el código
Un pipeline solo puede traducir lo que puede leer. Las cadenas codificadas y las frases construidas a partir de partes deben corregirse primero, y suelen ser la causa habitual de que un lanzamiento se detenga.
Nadie responsable de las palabras
La automatización mueve las cadenas. No decide cómo tu producto nombra las cosas. Alguien debe hacerse cargo del glosario, o un idioma que nadie lee derivará sin que nadie lo note.
Texto que requiere criterio
El texto legal, los precios y las frases de marca merecen la revisión de una persona. Envíalos para revisión y mantenlos fuera de los archivos que se distribuyen hasta que alguien los apruebe.
Preguntas frecuentes sobre la localización continua
Las preguntas que los equipos se hacen antes de activarla.
¿Qué es la localización continua?
¿En qué se diferencia la localización continua de la tradicional?
¿Es la localización continua lo mismo que CI/CD?
¿Necesito una canalización de CI/CD para la localización continua?
¿La localización continua significa que no hay revisión humana?
¿Puede una ejecución automática sobrescribir la edición de un traductor?
¿Merece la pena la localización continua para un equipo pequeño?
¿Cómo evito que una ejecución cueste más de lo esperado?
¿Funciona con GitLab, Bitbucket y Azure DevOps?
¿Puedo hacer localización continua sin Git?
¿Pueden actualizarse las traducciones sin un lanzamiento?
¿Cómo traslado un proyecto existente?
41 conectores, ya integrados.
Conecta un repositorio. La siguiente fusión hace el resto.
Un comando encuentra tus archivos de idioma, te inicia sesión a través del navegador y ejecuta la primera traducción.