## Visión general

La traducción automática permite atender clientes internacionales sin perder el contexto original.
Conversa Labs mantiene separadas tres decisiones:

- **Mi idioma para traducciones**: idioma en el que cada agente ve mensajes y transcripciones.
- **Idioma predeterminado del equipo**: fallback compartido de la bandeja o conversación.
- **Idioma de entrega al contacto**: idioma realmente enviado por el canal externo.

Un agente puede escribir y leer en portugués, el contacto recibir inglés y otro agente ver la misma
conversación en español.

## Requisitos previos

- Feature **Realtime Translation** activada para la cuenta por el Super Admin.
- Integración **Google Translate** activa, con project id y credenciales válidas. Conéctala en
  **Configuración → Integraciones → Google Translate**. El formulario enlaza Google Cloud Console y la
  guía oficial: habilita Cloud Translation API, crea una cuenta de servicio autorizada y pega el contenido
  completo de la clave JSON descargada.
- Permiso de administrador para configurar la bandeja.
- Acceso a la conversación para crear un override.

## Paso a paso

### Crear la credencial de Google Translate

1. En el formulario de integración, usa **Abrir la consola de Traductor de Google**. Habilita la
   **Cloud Translation API** en la página abierta.
2. Abre el selector de proyectos de Google Cloud y consulta los detalles. Copia el **ID del proyecto**
   — no el nombre ni el número — en **Google Cloud Project ID**.
3. Usa **Obtener credenciales de Traductor de Google** para abrir **IAM y administración → Cuentas de
   servicio** en el mismo proyecto.
4. Crea una cuenta de servicio, por ejemplo **Conversa Labs Translation**.
5. Concede solamente **Cloud Translation API User** (`roles/cloudtranslate.user`). Permite traducir
   texto y detectar idiomas sin privilegios administrativos.
6. Abre la cuenta creada y selecciona **Claves → Agregar clave → Crear clave nueva → JSON**. El
   archivo se descarga una sola vez.
7. Abre el `.json` como texto, copia el objeto completo — incluidos `{`, `}`, `project_id`,
   `private_key` y `client_email` — y pégalo en **Google Cloud Project Key File**.

El `project_id` del JSON debe coincidir con el primer campo. Guarda el archivo como secreto y nunca lo
envíes por conversación, correo ni repositorio. Si la creación de claves está bloqueada, pide al
administrador de Google Cloud que revise la política `iam.disableServiceAccountKeyCreation`.

No configures ningún webhook en Google Cloud. El STT nativo de la plataforma crea la transcripción de
audio y luego el texto guardado se traduce mediante una llamada directa a Cloud Translation API. Para
usar este flujo, activa **Transcripción de audio** y **Traducción automática → Traducir transcripciones**
en la bandeja.

### Configurar el valor predeterminado de la bandeja

1. Abre **Configuración → Bandejas de entrada** y selecciona una bandeja.
2. Abre la pestaña **Traducción automática**.
3. Activa la traducción automática.
4. Selecciona el **Idioma predeterminado del equipo**.
5. Selecciona el **Idioma de entrega al contacto** o la detección por conversación.
6. Define si se traducen mensajes recibidos, respuestas humanas antes del envío y transcripciones.
7. Guarda y confirma que el proveedor está listo.

La bandeja funciona como valor predeterminado. Una conversación puede heredar, activar o desactivar
la traducción sin modificar las demás.

## Configuración y opciones

### Idioma individual del agente

En **Perfil → Idioma**, cada agente puede elegir **Mi idioma para traducciones** para la cuenta actual.
La preferencia modifica únicamente su vista; no cambia la entrega al contacto, la vista de sus colegas
ni otras cuentas del mismo usuario. Dos agentes con el mismo idioma reutilizan la misma traducción.

### Excepción por conversación

En la barra lateral derecha de la conversación, abre la sección dedicada **Traducción**. Su resumen
compacto muestra la política efectiva, el idioma entregado al contacto, el idioma de visualización del
agente, el proveedor y las tres direcciones de traducción sin mezclarlos con **Información de la
conversación**.

Usa **Configurar valor de la bandeja** para cambiar todas las conversaciones de ese canal. Usa
**Ajustar esta conversación** solo cuando la conversación actual necesite una excepción:

- **Heredar de la bandeja**.
- **Activar en esta conversación** y sobrescribir campos puntuales.
- **Desactivar en esta conversación** sin modificar las demás.

El panel muestra idioma detectado, idioma de entrega, estado del proveedor y origen del idioma del
agente conectado.

El **Idioma de entrega al contacto** seleccionado aquí pertenece a esta conversación. Configura la
bandeja o usa la detección por conversación para un comportamiento general; este ajuste no guarda un
idioma permanente en el contacto ni cambia sus conversaciones en otras bandejas.

## Casos de uso

### Respuestas antes del envío

Si el agente escribe en portugués y el contacto debe recibir inglés, el texto escrito se conserva antes
de traducir. La traducción ocurre antes de llamar a WhatsApp, Telegram, Instagram, correo u otro canal.
El resultado en inglés se convierte en el contenido canónico transmitido, mientras cada agente ve su
representación localizada.

Cuando las versiones son distintas, la burbuja ofrece:

- **En mi idioma**: vista principal del agente conectado.
- **Enviado al contacto**: contenido exacto entregado al canal.
- **Texto escrito**: fuente humana anterior a la traducción de entrega.

Webhooks, API y exportaciones siguen usando el contenido transmitido.

### Mensajes recibidos y audio

La traducción de entrada es asíncrona y no bloquea la ingestión del canal. La burbuja se actualiza en
tiempo real y siempre conserva el original.

El STT nativo sigue siendo el único dueño de audio → texto. La traducción utiliza la transcripción ya
guardada; no vuelve a descargar el archivo ni genera otra transcripción. Cuando la conversación ya tiene
un idioma detectado, se usa como indicación para el STT; en una conversación nueva o solo de audio, el
proveedor detecta automáticamente el idioma hablado. El estado del reproductor se mantiene al alternar
entre original y traducción.

## Consejos, límites y buenas prácticas

### Fallos y seguridad

La traducción outbound obligatoria usa **fail closed**. Si falla el proveedor, ningún servicio de canal
es llamado, el mensaje queda recuperable, el texto escrito permanece disponible y el agente puede
reintentar después de corregir la configuración. Nunca se envía silenciosamente el idioma incorrecto.

Si aún no existe idioma del contacto, la entrega traducida permanece bloqueada. El idioma visual del
agente nunca funciona como fallback del contacto.

### Límites y privacidad

La primera entrega excluye mensajes privados, campañas, automatizaciones, templates aprobados, cards
estructurados y mensajes de Maestro, AgentBot o Captain. No realiza OCR ni doblaje de audio.

El contenido elegible se procesa mediante la integración Google Translate configurada por el operador.
Mensajes y transcripciones no se escriben en logs o métricas, y las traducciones siguen la retención del
mensaje o adjunto original.

## Solución de problemas

- **Proveedor pendiente**: revisa la integración Google Translate de la cuenta.
- **Idioma del contacto ausente**: defínelo en la conversación o espera un mensaje detectable.
- **Mi burbuja no cambió de idioma**: revisa el Perfil y vuelve a abrir la conversación.
- **Mensaje no enviado**: corrige proveedor/idioma y usa Reintentar.

## Ver también

- [La pantalla de conversaciones: colas, paneles y contexto del contacto](/hc/ajuda)
- [Configuración de bandejas de entrada](/hc/ajuda)