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 aparte 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 trabajo en la que las cadenas nuevas y modificadas se envían a traducción automáticamente apenas cambian, y el texto traducido vuelve al producto sin que nadie tenga que programarlo.
No hay una fase de traducción, porque la traducción nunca se detiene. Un desarrollador fusiona una cadena, las traducciones llegan en 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 código cada día y entrega la traducción cada pocas semanas tiene idiomas atrasados respecto a su código durante la mayor parte del mes. La localización continua reduce esa brecha a la duración de una sola ejecución.
No significa que el resultado de máquina 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.
| Qué cambios | 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 regrese | Revisión, en las cadenas que marcaste para ello |
| Un cambio de copia tardío | Otra 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 | Juntos, 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 regrese
- Un cambio de copia tardío
- Otra 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 de copia tardío
- 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
- Juntos, 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 las cadenas nuevas y modificadas continúan.
Una coincidencia exacta de la memoria de traducción completa la fila y no cuesta palabras. Lo que quede 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 de glosario prohibido se reparan una vez y se vuelven a verificar; si falla una segunda vez, se rechaza y no se envía. Una fila que solo excede 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 ha editado o revisado. Si su origen cambia más tarde, el texto permanece, 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 publica en la CDN, y el producto en ejecució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 envío. Una fila que una persona editó o revisó se mantiene, y la ejecución lo informa.
→fr, revisado, fuente recién cambiada
✓mantenido, contado, informado
Una cadena rota llega a producción
Cada token que entra debe salir. En un proyecto ICU, un mensaje que generaría un error al renderizarse se excluye del pull, del conector y del paquete CDN, y la ejecución lo identifica.
→{count, plural, one {# article}
✓excluido del archivo, identificado en la ejecución
El repositorio se llena de pull requests de bots
Una rama de sincronización y un pull request por repositorio. Dos envíos rápidos convergen en ella en lugar de abrir una segunda.
→#812 #815 #819 #823 actualización l10n
✓#812 transglot/sync, actualizado in situ
Una edición de origen deja traducciones antiguas atrás
Cada fila de destino registra la fuente contra la que se escribió, por lo que se sabe que una cadena cambiada está desactualizada en todos los idiomas a la vez, y solo esa clave se ejecuta nuevamente.
→Guardar se convirtió en Guardar borrador. fr, de, ja aún dicen Save
✓fr, de, ja se ejecutan nuevamente para esa única clave
Cada ejecución factura todo el proyecto nuevamente
Una ejecución se dimensiona según lo que cambió. Una cadena sin cambios no se envía, una coincidencia exacta de memoria no tiene costo en palabras y una fila propiedad de una persona se rechaza antes de gastar nada.
→el archivo contiene 48.000 palabras
✓esta ejecución: 60 palabras
Un pull a medio terminar borra un archivo de locale
Si el servidor no reporta entradas para un locale, el pull se niega a sobrescribir un archivo que tiene contenido y sale con código 1 para que la pipeline se detenga ahí.
→pull: 0 entradas para ja, el archivo contiene 1.204
✓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 mantenidas, una persona es propietaria de ellas
- run 4182 ja: 41 filas desde memoria, 0 palabras
- run 4183 ar: forma plural faltante después del reintento, fila rechazada
- pull escrito locales/pt-BR.json
- sync transglot/sync actualizado, pull request #812
Los tres se conectan a tu repositorio. La diferencia radica en lo que ocurre al fusionar.
Información extraída de las páginas oficiales de cada empresa el 5 de noviembre de 2026. La fila de precios proviene de nuestras páginas de comparación, vinculadas a continuación, que muestran el plan y los cálculos. Los precios y planes cambian, así que revísalos antes de decidir.
| Lo que sucede | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Se fusiona una nueva cadena | Traducido por defecto El envío inicia la ejecución. Una configuración del proyecto puede desactivarlo. | Traducido una vez configurado Las automatizaciones están desactivadas por defecto 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 activado En Configuración, Traducción automática, luego se ejecuta en cada carga. La sincronización con Git se ejecuta cada hora por defecto. |
| Una traducción falla una verificación | Reparado una vez, luego rechazado Para un marcador de posición roto, forma plural o término prohibido, en cada fila de cada ejecución. Se registra un exceso de longitud. En un proyecto ICU, una fila rota queda fuera de la solicitud de extracción, los conectores y la CDN. | Una verificación de nivel Error detiene el guardado en el editor Cada verificación se configura como Desactivada, Advertencia o Error. | Una verificación de nivel Error detiene el guardado Cada verificación se configura como Advertencia o Error. |
| Una persona ya editó la fila | La ejecución se niega a escribirla Lo mismo ocurre con una coincidencia de memoria y un envío. Si la fuente cambia más tarde, la ejecución reporta la fila. | Las automatizaciones completan valores vacíos por defecto Una opción de forzamiento y una acción de limpieza sobrescriben los completados. | Las opciones conservan las filas humanas y aprobadas También existe una opción para reemplazar todo. |
| Solicitudes de extracción en un repositorio con mucha actividad | Una rama, una solicitud de extracción Actualizado in situ en cada envío. | Una nueva rama para cada solicitud de extracción 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 costo. Almacenar una cadena no tiene costo. | Palabras procesadas Cuentan tanto el idioma base como el de destino. | Palabras alojadas Palabras para traducir, multiplicadas por los idiomas de destino. |
| Qué paga la IA | Las palabras del plan No se factura por separado. | Asignaciones de palabras de IA según el plan Las palabras de IA Standard 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 envío inicia la ejecución. Una configuración del proyecto puede desactivarlo.
- Una traducción falla una verificación
- Reparado una vez, luego rechazadoPara un marcador de posición roto, forma plural o término prohibido, en cada fila de cada ejecución. Se registra un exceso de longitud. En un proyecto ICU, una fila rota queda fuera de la solicitud de extracción, los conectores y la CDN.
- Una persona ya editó la fila
- La ejecución se niega a escribirlaLo mismo ocurre con una coincidencia de memoria y un envío. Si la fuente cambia más tarde, la ejecución reporta la fila.
- Solicitudes de extracción en un repositorio con mucha actividad
- Una rama, una solicitud de extracciónActualizado in situ en cada envío.
- Lo que cuenta el plan
- Palabras traducidas, una vez por idiomaLas coincidencias exactas de memoria no tienen costo. Almacenar una cadena no tiene costo.
- Qué 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 por defecto 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 falla una verificación
- Una verificación de nivel Error detiene el guardado en el editorCada verificación se configura como Desactivada, Advertencia o Error.
- Una persona ya editó la fila
- Las automatizaciones completan valores vacíos por defectoUna opción de forzamiento y una acción de limpieza sobrescriben los completados.
- Solicitudes de extracción en un repositorio con mucha actividad
- Una nueva rama para cada solicitud de extracciónNombrada con una marca de tiempo.
- Lo que cuenta el plan
- Palabras procesadasCuentan tanto el idioma base como el de destino.
- Qué paga la IA
- Asignaciones de palabras de IA según el planLas palabras de IA Standard 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 activadoEn Configuración, Traducción automática, luego se ejecuta en cada carga. La sincronización con Git se ejecuta cada hora por defecto.
- Una traducción falla una verificación
- Una verificación de nivel Error detiene el guardadoCada verificación se configura como Advertencia o Error.
- Una persona ya editó la fila
- Las opciones conservan las filas humanas y aprobadasTambién existe una opción para reemplazar todo.
- Solicitudes de extracción en un repositorio con mucha actividad
- 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, multiplicadas por los idiomas de destino.
- Qué 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 flujo.
Cómo configurar la localización continua
- 01
Extrae las cadenas del código
Cada cadena visible para el usuario necesita una clave estable en un archivo de locale. Transglot lee 20 formatos, así que usa el que tengas.
jsonyamlxliffarb - 02
Conectar el repositorio
El comando init encuentra tus archivos de locale, 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
Ejecútalo en cada merge
Añade la GitHub Action, llama al CLI desde cualquier otro CI o instala la app para GitHub, GitLab, Bitbucket o Azure Repos.
transglot push --wait - 04
Decide qué necesita intervención humana
Establece min_state en reviewed en una regla de pull request y ese archivo solo llevará cadenas que una persona haya revisado. Déjalo desactivado y los borradores se publicarán.
min_state: reviewed
Lo que cuesta ejecutarlo en cada merge: las palabras que cambiaron.
Una palabra es una palabra de origen, contada una vez por idioma de destino. Una ejecución se dimensiona según lo que cambió, por lo que un merge que afecta doce palabras en cinco idiomas cuenta sesenta, sin importar el tamaño del proyecto.
Encaja en Starter: $19/mo, 300,000 palabras al mes.
Eso es aproximadamente el 9% del límite.
Esto solo cuenta la traducción. Las verificaciones de calidad, los borradores de voz de marca y las reparaciones también cuentan como palabras, y las coincidencias exactas de la memoria no tienen costo. La CLI y la acción de GitHub comienzan en el plan Starter, y las aplicaciones para GitHub, GitLab, Bitbucket y Azure Repos comienzan en el plan Team.
Tres cosas que la localización continua no resuelve
Cadenas aún atrapadas en el código
Una pipeline solo puede traducir lo que puede leer. Las cadenas codificadas y las frases armadas con partes deben corregirse primero, y suelen ser la razón por la que un lanzamiento se detiene.
Nadie es dueño de las palabras
La automatización mueve las cadas. No decide cómo tu producto llama a las cosas. Alguien debe ser responsable del glosario, o un idioma que nadie lee se desviará sin que nadie lo note.
Texto que requiere criterio
El texto legal, los precios y las líneas de marca merecen una persona. Envíalos a revisión y manténlos fuera de los archivos que se publican hasta que alguien los apruebe.
Preguntas frecuentes sobre localización continua
Las preguntas que los equipos hacen antes de activarla.
¿Qué es la localización continua?
¿En qué se diferencia la localización continua de la localización tradicional?
¿Es la localización continua lo mismo que CI/CD?
¿Necesito una pipeline 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?
¿Vale 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?
¿Las traducciones se pueden actualizar sin un lanzamiento?
¿Cómo muevo un proyecto existente?
41 conectores, ya integrados.
Conecta un repositorio. La próxima fusión hace el resto.
Un comando encuentra tus archivos de configuración regional, te inicia sesión a través del navegador y ejecuta la primera traducción.