La mayor parte de tu contenido puede publicarse en cuanto lo devuelve el motor. Pero no todo. Una divulgación regulada, una instrucción médica, un titular que lleva el peso de la marca: en esos casos, quieres que una persona lea la traducción y la apruebe antes de que salga en producción, no después de que un cliente presente una queja.
La forma habitual de meter a una persona en un flujo automatizado suele ser la más dolorosa: mantener la solicitud abierta mientras alguien lee, crear tu propia cola de revisión o conectar a mano la API de un proveedor de traducción. Esta etapa lo resuelve dentro del trabajo. Cuando humanEdit está habilitado, el trabajo asíncrono ejecuta el motor y luego se pausa en una persona —tu propio equipo o un profesional externo— para reanudarse con su edición y arrastrar ese resultado a cualquier etapa posterior.
Es la tercera etapa del pipeline de localización y, como todas las etapas, solo se aplica a los trabajos creados mediante la API de localización asíncrona. ¿Recién empiezas con el pipeline? Comienza por la Descripción general.
En esta página
- Cómo funciona la pausa
- Revisión interna
- Permisos
- Revisión externa
- Tiempo de espera
- Cómo habilitar la etapa
Cómo funciona la pausa#
Después del paso principal de traducción, el trabajo entrega la traducción de IA a una persona para su revisión. El revisor la lee y luego la aprueba tal cual o envía una versión editada. Solo entonces el trabajo continúa. El resultado humano —aprobado o editado— se convierte en la entrada de cada etapa posterior y, en última instancia, en el outputData del trabajo.
La objeción obvia a pausar un trabajo durante minutos, horas o un día es el costo: una solicitud abierta consume recursos aunque no esté pasando nada. Esta etapa no funciona así.
La espera funciona por eventos, no con una conexión abierta
El flujo de trabajo se reanuda con un evento: un revisor que envía desde el panel (Revisión interna) o una devolución de llamada del proveedor de traducción (Revisión externa). No hace polling en un bucle cerrado ni mantiene una conexión abierta, así que un tiempo de espera largo no consume cómputo en segundo plano. Un trabajo puede esperar 48 horas por una persona igual que espera a un modelo: queda estacionado, no girando en vacío.
Hay dos modos de revisión disponibles, que se eligen por motor. La única diferencia es quién hace la lectura: la pausa, la reanudación y el arrastre del resultado funcionan exactamente igual.
Revisión interna#
Tu propio equipo revisa las traducciones directamente en el panel de Lingo.dev. Las revisiones pendientes llegan a la página Human Reviewer de tu organización (/orgs/<org-id>/human-reviewer), y se notifica a los revisores cuando entran nuevos elementos. Un revisor toma un elemento y luego aprueba la traducción tal cual o envía una versión editada. El trabajo se reanuda de inmediato con su resultado.
Un segundo revisor no puede tomar un elemento en el que otra persona ya está trabajando. Las asignaciones son exclusivas: un solo revisor tiene un elemento a la vez, así que dos personas nunca editan la misma traducción ni se pisan sin darse cuenta. La cadena queda bloqueada para quien la tomó hasta que la libere o la envíe.
La Revisión interna es el modo predeterminado para los motores nuevos. Úsala cuando tu equipo tenga la experiencia lingüística dentro de casa y quieras control total sobre la redacción final, sin terceros en el proceso.
Permisos#
La revisión interna no está abierta a todas las personas de la organización: la página Human Reviewer está protegida por permisos, así que una traducción en revisión solo es visible para quienes reciban acceso. Un administrador de la organización asigna ese acceso mediante roles (Configuración → Roles):
| Permiso | Qué habilita |
|---|---|
Revisar traducciones (engine:review_translations) | Ver y trabajar la cola de revisión: tomar una traducción pendiente, editarla, aprobarla tal cual o enviar la versión editada |
Administrar revisiones (org:manage_reviews) | Historial de revisión y estadísticas de revisores para todas las revisiones internas de la organización |
Los dos permisos están separados a propósito. Un revisor solo necesita Revisar traducciones: con ese único permiso puede tomar, editar, aprobar y enviar. Administrar revisiones es para quien supervisa la operación; agrega la vista de historial y estadísticas de toda la organización, pero por sí solo no incluye acceso a la cola. Otorga ambos a un responsable que revisa y reporta; otorga solo el primero a alguien que solo trabaja la cola.
Revisión externa#
Cuando no tienes revisores internos para un idioma, la traducción se envía a un traductor profesional calificado a través de un proveedor externo. El trabajo se pausa de la misma manera y se reanuda cuando el proveedor devuelve la traducción editada. No cambia nada en tu código: la diferencia es quién lee la cadena, no cómo se comporta el trabajo.
La Revisión externa tiene dos niveles, y la diferencia está en cuánta precisión exige el contenido:
| Nivel | Ideal para |
|---|---|
| Standard | Traducción precisa con voz humana: textos de marketing, cadenas de interfaz y contenido de ayuda |
| Pro | Uso profesional con un estándar de precisión aún más alto: contenido legal, médico y regulado |
Conviene decirlo con total claridad: la Revisión externa implica que del otro lado hay un traductor humano real, con los tiempos de entrega y el costo que eso conlleva. No es un modelo más rápido. Úsala cuando el criterio de una persona sea justamente lo importante —texto regulado, copy de alto impacto— y apóyate en la ruta solo con IA para la mayor parte del contenido que no lo necesita.
Tiempo de espera#
Una etapa humana introduce un riesgo que las etapas de IA no tienen: la persona podría no responder nunca. El revisor está de vacaciones, el proveedor está saturado, el elemento se olvida. Si no se limita, el trabajo esperaría para siempre.
Por eso la espera tiene un límite. Tú defines cuánto tiempo espera el flujo de trabajo por el resultado humano: la misma configuración timeoutHours se aplica a ambos modos de revisión. Si el tiempo de espera vence sin respuesta, la etapa se marca como skipped y el trabajo continúa con la traducción de IA como resultado final. El valor predeterminado es 48 horas.
Vale la pena decir el costo sin rodeos: cuando vence el tiempo de espera, publicas la traducción de IA sin revisión humana. Para la mayoría del contenido, ese es el fallback correcto —más vale una traducción publicada que un trabajo bloqueado indefinidamente—, pero el tradeoff es real. Para contenido en el que una persona debe aprobar sí o sí, configura un tiempo de espera amplio y crea una alerta cuando se omita; para contenido en el que la revisión es deseable pero no esencial, un tiempo de espera corto mantiene el pipeline en movimiento.
El tiempo de espera es por etapa, no por trabajo
El tiempo de espera solo controla cuánto aguarda esta etapa a una persona. Es independiente de cuánto tarde el resto del trabajo. Como la espera funciona por eventos, un tiempo de espera largo solo te cuesta latencia hasta el resultado final si el revisor tarda, nunca cómputo en segundo plano.
Cómo habilitar la etapa#
humanEdit se configura como cualquier etapa del pipeline: con un valor predeterminado a nivel de motor en la pestaña Pipeline del motor, que opcionalmente puedes reemplazar por solicitud. El modelo completo de dos capas está en Configurar el pipeline; la forma específica de esta etapa es:
{
"humanEdit": {
"enabled": true,
"provider": "internal",
"tier": "standard",
"timeoutHours": 48
}
}provider selecciona el modo: internal para tu propio equipo; en cualquier otro caso, el proveedor externo. tier (standard o pro) se aplica a la Revisión externa y se ignora para la interna. timeoutHours es el límite descrito en la sección anterior. Para reemplazarlo en un solo envío, pasa este bloque dentro de pipelineConfig en la llamada de creación; si lo omites, el trabajo hereda la configuración del motor.
Cuando la etapa se ejecuta, queda registrada en el trabajo en stepId: "humanEdit" con un estado de completed, failed o skipped: el mismo registro de paso que produce cada etapa. Cómo leer esos registros se explica en Observar ejecuciones del pipeline.
Una edición humana puede desviarse de las reglas de tu motor
Un traductor humano puede redactar algo de una forma que entre en conflicto con tu glosario, tu voz de marca o tus instrucciones: su trabajo es traducir bien, no memorizar tu configuración. Para reconciliar automáticamente la edición humana con las reglas de tu motor, habilita la siguiente etapa, evaluación de IA. Solo se ejecuta después de una etapa humana que realmente produjo un resultado.
