Ruang Rapat yang Tidak Beralih ke Bahasa Inggris
Anda menjadwalkan rapat lintas negara. Orang-orang bergabung dari tiga zona waktu berbeda. Dalam sembilan puluh detik, seseorang berkata, "ayo kita gunakan bahasa Inggris saja supaya semua orang paham" — dan Anda melihat orang-orang paling senior di ruangan itu terdiam.
Peralihan itu adalah beban. Bagi waktu, bagi rasa percaya diri, bagi apa yang benar-benar diputuskan.
Selama enam minggu terakhir, kami membangun ulang InterMIND berdasarkan satu prinsip: tidak ada seorang pun di dalam ruangan yang harus beralih bahasa. Tidak untuk percakapan. Tidak untuk chat. Tidak untuk catatan yang Anda tulis secara live. Tidak untuk riwayat suntingan yang akan Anda tinjau besok.
Berikut yang berubah.
1. Semua Hal Disesuaikan per Penampil, Bukan Hanya Suara
Terjemahan suara secara live selalu menjadi sorotan utama — 21 bahasa, latensi di bawah satu detik, setiap peserta memilih bahasanya sendiri di awal panggilan. v1.2 membuat segala hal di sekitar suara juga menjadi multibahasa, dan menjaganya tetap sinkron, per penampil, secara real-time. (Untuk alasan mengapa angkanya "21" dan bukan angka yang lebih besar yang ditampilkan permukaan lain, lihat rinciannya.)
Chat: Setiap Suntingan Menunjukkan Apa yang Berubah, dalam Bahasa Anda
Setiap pesan di chat diterjemahkan saat sedang diketik. Perubahan di v1.2: saat seseorang menyunting pesan, kami tidak membuang terjemahan sebelumnya lalu menyajikan terjemahan baru begitu saja. Kami menghitung diff antara teks terjemahan sebelumnya dan teks terjemahan yang baru, dalam bahasa Anda — dan menampilkannya secara inline.
Jadi, saat rekan Anda menyunting "kita harus meninjaunya paling lambat Selasa" menjadi "kita harus meninjaunya paling lambat Kamis," peninjau berbahasa Spanyol Anda tidak melihat paragraf yang diterjemahkan ulang lalu harus menerka apa yang berubah. Mereka melihat martes → jueves, ditandai dengan sorotan. Presisinya sama seperti diff Git, tetapi ditampilkan dalam salah satu dari 21 bahasa yang mereka baca.
Jika suntingan hanya mengubah format — tebal, miring, penanda daftar — kami tetap menerjemahkan ulang, karena suntingan yang tampak hanya soal format sering kali justru mengubah makna (tanda koma berubah menjadi pemisah klausa). Terjemahan sebelumnya tetap tampil di layar selagi terjemahan baru dimuat, jadi Anda tidak akan pernah menatap ruang kosong sambil menunggu respons API.
Catatan: Live, Karakter demi Karakter, per Bahasa
Host membuka panel catatan bersama selama rapat dan mulai mengetik. Setiap peserta melihat catatan tersebut dalam bahasanya masing-masing, karakter demi karakter, dengan propagasi di bawah satu detik. Sunting satu baris, dan setiap penampil mendapatkan diff per bahasa — model yang sama seperti suntingan chat.
Kami juga menulis ulang terjemahan catatan agar menerjemahkan setiap item daftar secara individual, bukan seluruh dokumen sekaligus. Checklist bertingkat dalam bahasa Inggris tidak akan mempertahankan strukturnya jika Anda menerjemahkan seluruh blob markdown sekaligus — modelnya akan meratakan hierarki tersebut. Menerjemahkan setiap <li> secara terpisah menjaga indentasi, penomoran, dan format inline tetap utuh di setiap bahasa.
Lampiran: Dokumen di dalam Chat Berbicara dalam Bahasa Ruangan
Letakkan tautan Google Doc, OneDrive, atau file PDF ke dalam chat. v1.2 menampilkannya secara inline:
- Dokumen tertaut — judul, pratinjau, badge domain, tanpa URL mentah yang terlihat begitu saja. Dokumen yang dapat disunting terbuka di tab baru dengan hint locale yang sesuai (
hl=), sehingga pembaca bahasa Portugis Brasil tidak mendarat di UI Docs berbahasa Inggris. - Unggahan gambar — thumbnail saat diunggah, tata letak grid responsif intrinsik di dalam bubble pesan sehingga gambar tidak melebar berlebihan pada lebar layar yang sempit.
- Akses dokumen tiga tingkat — edit, view, atau no-access — dengan auto-share saat izin memungkinkan. Peserta tanpa akses Drive tetap melihat pratinjau read-only yang bersih, bukan halaman "permission denied".
Lazy Translation: Lebih Cepat, Lebih Murah, Lebih Sedikit Noise
Sebelumnya kami menerjemahkan setiap pesan dalam riwayat Anda setiap kali Anda mengganti bahasa. Untuk kanal tim yang sudah berjalan lama, ini berarti mengulang ribuan pemanggilan API selama berjam-jam untuk pesan-pesan yang tidak akan pernah Anda scroll kembali.
v1.2 menggunakan IntersectionObserver: terjemahan terjadi sesuai kebutuhan, saat sebuah pesan memasuki viewport. Mengganti bahasa di tengah rapat kini terjadi secara instan. Kami juga langsung menghentikan polling daftar chat saat menerima 401, yang meredam aliran error yang tak terkendali — sesuatu yang tidak akan pernah Anda sadari, tetapi kami sadari.
Transkripsi Suara: Disanitasi Sebelum Dirender
Teks transkripsi disanitasi sebelum dirender — tidak ada injeksi HTML lewat pengucapan yang "kreatif". Kedengarannya sudah pasti begitu. Tapi dua bulan lalu, itu belum benar.