La salle de réunion qui ne bascule pas vers l'anglais
Vous planifiez une réunion transfrontalière. Les participants se connectent depuis trois fuseaux horaires. En moins de quatre-vingt-dix secondes, quelqu'un lance « restons en anglais pour que tout le monde suive » — et vous voyez les personnes les plus expérimentées de la salle se taire.
Ce basculement a un coût. En temps, en confiance, sur ce qui se décide réellement.
Nous avons passé les six dernières semaines à reconstruire InterMIND autour d'un principe : personne dans la salle ne devrait avoir à changer de langue. Ni pour la conversation. Ni pour le chat. Ni pour les notes que vous tapez en direct. Ni pour l'historique des modifications que vous relirez demain.
Voici ce qui a changé.
1. Tout par spectateur, pas seulement la voix
La traduction vocale en direct a toujours été la fonctionnalité phare — 21 langues, une latence inférieure à la seconde, chaque participant choisit sa propre langue au début de l'appel. La v1.2 rend également multilingue tout ce qui entoure la voix, et garde tout synchronisé, par spectateur, en temps réel. (Pour comprendre pourquoi « 21 » et non les chiffres plus élevés affichés par d'autres solutions, consultez le détail.)
Chat : chaque modification vous montre ce qui a changé, dans votre langue
Chaque message du chat est traduit au moment où il est saisi. Ce qui change avec la v1.2 : lorsque quelqu'un modifie un message, nous ne jetons pas la traduction précédente pour vous en servir une toute neuve. Nous calculons le différentiel entre le texte traduit précédent et le nouveau texte traduit, dans votre langue — et l'affichons directement dans le texte.
Ainsi, quand votre collègue modifie « nous devrions revoir cela d'ici mardi » en « nous devrions revoir cela d'ici jeudi », votre relecteur espagnol ne voit pas un paragraphe re-traduit dont il doit deviner ce qui a changé. Il voit martes → jueves, mis en évidence. La même précision qu'un diff Git, mais restituée dans n'importe laquelle des 21 langues qu'il lit.
Si la modification ne touche que le formatage — gras, italique, puces — nous re-traduisons quand même, car les modifications de mise en forme sont souvent l'endroit où le sens bascule (une virgule devient une rupture de proposition). Et la traduction précédente reste affichée pendant que la nouvelle s'affiche progressivement, pour que vous ne regardiez jamais un espace vide en attendant la réponse de l'API.
Notes : en direct, caractère par caractère, par langue
L'hôte ouvre le panneau de notes partagées pendant la réunion et commence à taper. Chaque participant voit la note dans sa langue, caractère par caractère, avec une propagation inférieure à la seconde. Modifiez une ligne et les spectateurs obtiennent un différentiel par langue — le même modèle que pour les modifications du chat.
Nous avons aussi réécrit la traduction des notes pour traduire les éléments de liste individuellement plutôt que le document entier. Une liste à cocher imbriquée en anglais ne conserve pas sa structure si vous traduisez le bloc markdown dans son ensemble — le modèle aplatit la hiérarchie. Traduire chaque <li> indépendamment préserve l'indentation, la numérotation et le formatage en ligne, dans chaque langue.
Pièces jointes : les documents dans le chat parlent la langue de la salle
Déposez un Google Doc, un lien OneDrive ou un PDF dans le chat. La v1.2 les affiche directement dans le fil :
- Documents liés — titre, aperçu, badge de domaine, sans URL brute qui s'affiche. Les documents modifiables s'ouvrent dans un nouvel onglet avec le bon indicateur de langue (
hl=), pour qu'un lecteur en portugais brésilien n'atterrisse pas sur une interface Docs en anglais. - Envoi d'images — miniature dès l'envoi, mise en page réactive en grille intrinsèque dans la bulle de message pour que les images ne débordent pas sur les écrans étroits.
- Accès aux documents à trois niveaux — modification, lecture ou aucun accès — avec partage automatique lorsque les permissions le permettent. Les participants sans accès à Drive voient tout de même un aperçu propre en lecture seule, et non une page « accès refusé ».
Traduction paresseuse : plus rapide, moins coûteuse, moins de bruit
Auparavant, nous traduisions chaque message de l'historique lorsque vous changiez de langue. Pour les canaux d'équipe de longue durée, cela signifiait rejouer des heures d'appels API pour des messages que vous n'alliez jamais faire défiler à nouveau.
La v1.2 utilise un IntersectionObserver : les traductions se déclenchent à la demande, lorsqu'un message entre dans la zone visible. Changer de langue en cours de réunion est désormais instantané. Nous avons également arrêté le polling de la liste du chat immédiatement en cas d'erreur 401, ce qui a fait taire un flux d'erreurs en boucle que vous n'auriez jamais remarqué, mais nous, si.
Transcription vocale : assainie avant l'affichage
Le texte de transcription est assaini avant l'affichage — aucune injection HTML possible via une prononciation créative. Cela paraît évident. Ce n'était pourtant pas le cas il y a deux mois.