La sala de reuniones que no cambia al inglés
Programa una reunión transfronteriza. Personas de tres zonas horarias se unen a la llamada. En menos de noventa segundos, alguien dice: "sigamos en inglés para que todos estemos en la misma página" — y ve cómo los perfiles más senior de la sala se quedan en silencio.
Ese cambio es un impuesto. Sobre el tiempo, sobre la confianza, sobre lo que realmente se decide.
Hemos dedicado las últimas seis semanas a reconstruir InterMIND en torno a un principio: nadie en la sala debería tener que cambiar de idioma. Ni para la conversación. Ni para el chat. Ni para las notas que escribe en tiempo real. Ni para el historial de ediciones que revisará mañana.
Esto es lo que cambió.
1. Todo por espectador, no solo la voz
La traducción de voz en tiempo real siempre ha sido el titular: 21 idiomas, latencia inferior a un segundo, cada participante elige su propio idioma al comienzo de la llamada. v1.2 hace que todo lo que rodea a la voz sea también multilingüe, y lo mantiene sincronizado, por espectador, en tiempo real. (Para saber por qué "21" y no las cifras mayores que muestran otras superficies, consulte el desglose.)
Chat: cada edición le muestra qué cambió, en su idioma
Cada mensaje del chat se traduce a medida que se escribe. El cambio en v1.2: cuando alguien edita un mensaje, no descartamos su traducción anterior para servirle una nueva. Calculamos la diferencia entre el texto traducido anterior y el nuevo texto traducido, en su idioma, y la mostramos en línea.
Así, cuando su colega edita "deberíamos revisarlo el martes" para que diga "deberíamos revisarlo el jueves", su revisor en español no ve un párrafo retraducido del que tiene que adivinar qué cambió. Ve martes → jueves, resaltado. La misma precisión que un diff de Git, pero mostrada en cualquiera de los 21 idiomas que lea.
Si la edición solo cambia el formato — negrita, cursiva, marcadores de lista —, igualmente volvemos a traducir, porque las ediciones que solo afectan al formato suelen ser donde cambia el significado (una coma se convierte en un corte de cláusula). Y la traducción anterior permanece en pantalla mientras llega la nueva, para que nunca se quede mirando un espacio en blanco esperando la respuesta de la API.
Notas: en vivo, carácter por carácter, por idioma
El anfitrión abre el panel de notas compartidas durante la reunión y empieza a escribir. Cada participante ve la nota en su idioma, carácter por carácter, con una propagación de menos de un segundo. Al editar una línea, los espectadores obtienen una diferencia por idioma: el mismo modelo que las ediciones del chat.
También reescribimos la traducción de notas para traducir los elementos de lista individualmente en lugar del documento completo. Una lista de tareas anidada en inglés no conserva su estructura si se traduce el bloque de markdown completo: el modelo aplana la jerarquía. Traducir cada <li> de forma independiente mantiene intactos la sangría, la numeración y el formato en línea en todos los idiomas.
Adjuntos: los documentos dentro del chat hablan el idioma de la sala
Suelte un Google Doc, un enlace de OneDrive o un PDF en el chat. v1.2 los renderiza en línea:
- Documentos enlazados — título, vista previa, insignia de dominio, sin que la URL en bruto se filtre. Los documentos editables se abren en una pestaña nueva con la pista de configuración regional correcta (
hl=), de modo que un lector de portugués de Brasil no acabe en una interfaz de Docs en inglés. - Subida de imágenes — miniatura al subir, diseño responsivo con cuadrícula intrínseca en la burbuja del mensaje, para que las imágenes no se desborden en anchos estrechos.
- Acceso a documentos en tres niveles — edición, visualización o sin acceso — con compartición automática cuando los permisos lo permiten. Los participantes sin acceso a Drive siguen viendo una vista previa limpia de solo lectura, no una página de "permiso denegado".
Traducción diferida: más rápida, más económica, menos ruidosa
Antes traducíamos cada mensaje de su historial cuando cambiaba de idioma. En canales de equipo de larga duración, eso significaba repetir horas de llamadas a la API para mensajes a los que nunca volvería a desplazarse.
v1.2 usa un IntersectionObserver: las traducciones se producen a demanda, cuando un mensaje entra en el viewport. Cambiar de idioma a mitad de la reunión ahora es instantáneo. También detenemos de inmediato el polling de la lista de chat ante un 401, lo que silenció un flujo de errores descontrolado que usted nunca habría notado, pero nosotros sí.
Transcripción de voz: saneada antes de renderizarse
El texto de la transcripción se sanea antes de renderizarse: sin inyección de HTML a través de una pronunciación creativa. Suena obvio. También era falso hace dos meses.