Phòng họp không chuyển sang tiếng Anh
Bạn lên lịch một cuộc họp xuyên biên giới. Mọi người tham gia từ ba múi giờ khác nhau. Chưa đầy chín mươi giây sau, có người nói "hãy dùng tiếng Anh để tất cả chúng ta cùng hiểu như nhau", và bạn thấy những người cấp cao nhất trong phòng im lặng.
Việc chuyển ngữ đó là một khoản thuế: đánh vào thời gian, vào sự tự tin, và vào những gì thực sự được quyết định.
Sáu tuần qua, chúng tôi đã xây dựng lại InterMIND xoay quanh nguyên tắc: không ai trong phòng phải chuyển ngôn ngữ. Không phải trong cuộc trò chuyện. Không phải trong chat. Không phải trong ghi chú bạn đang gõ trực tiếp. Không phải trong lịch sử chỉnh sửa bạn sẽ xem lại vào ngày mai.
Đây là những gì đã thay đổi.
1. Mọi thứ theo từng người xem, không chỉ giọng nói
Dịch giọng nói trực tiếp vẫn luôn là điểm nhấn: 21 ngôn ngữ, trực tiếp, mỗi người tham gia tự chọn ngôn ngữ của mình khi bắt đầu cuộc gọi. v1.2 đưa đa ngôn ngữ vào cả mọi thứ xung quanh giọng nói, đồng bộ theo từng người xem, theo thời gian thực. (Về lý do con số là "21" chứ không phải những con số lớn hơn mà các nơi khác hiển thị, hãy xem phần giải thích chi tiết.)
Chat: mỗi lần chỉnh sửa cho bạn thấy điều gì đã thay đổi, bằng ngôn ngữ của bạn
Mọi tin nhắn trong chat được dịch ngay khi đang gõ. Điểm mới ở v1.2: khi ai đó chỉnh sửa một tin nhắn, chúng tôi không bỏ bản dịch trước đó rồi đưa cho bạn một bản dịch mới hoàn toàn. Chúng tôi tính phần khác biệt giữa văn bản đã dịch trước đó và văn bản đã dịch mới, bằng ngôn ngữ của bạn, rồi hiển thị ngay trong dòng.
Vì vậy, khi đồng nghiệp sửa "we should review by Tuesday" thành "we should review by Thursday", người duyệt nói tiếng Tây Ban Nha của bạn sẽ không phải đọc lại cả đoạn được dịch lại rồi đoán xem điều gì đã đổi. Họ thấy martes → jueves, được tô sáng. Độ chính xác như một Git diff, nhưng hiển thị bằng bất kỳ ngôn ngữ nào trong 21 ngôn ngữ mà họ đọc.
Nếu chỉnh sửa chỉ thay đổi định dạng (in đậm, in nghiêng, ký hiệu danh sách), chúng tôi vẫn dịch lại, vì những chỉnh sửa chỉ về định dạng thường là nơi nghĩa bị lệch (một dấu phẩy biến thành chỗ ngắt mệnh đề). Bản dịch trước đó vẫn hiển thị trên màn hình trong khi bản mới đang được truyền về, nên bạn không bao giờ phải nhìn khoảng trống chờ API phản hồi.
Ghi chú: trực tiếp, từng ký tự, theo từng ngôn ngữ
Người chủ trì mở khung ghi chú chung trong cuộc họp và bắt đầu gõ. Mỗi người tham gia thấy ghi chú bằng ngôn ngữ của mình, từng ký tự một, ngay khi nó được gõ. Sửa một dòng, người xem sẽ nhận được phần khác biệt theo từng ngôn ngữ, cùng mô hình như khi sửa tin nhắn chat.
Chúng tôi cũng viết lại cách dịch ghi chú để dịch từng mục danh sách riêng lẻ thay vì cả tài liệu. Một checklist lồng nhau bằng tiếng Anh sẽ không giữ được cấu trúc nếu bạn dịch cả khối markdown: mô hình làm phẳng thứ bậc. Dịch độc lập từng <li> giữ nguyên thụt lề, số thứ tự và định dạng nội dòng trong mọi ngôn ngữ.
Tệp đính kèm: tài liệu trong chat nói ngôn ngữ của cả phòng
Thả một Google Doc, liên kết OneDrive hoặc PDF vào chat. v1.2 hiển thị chúng ngay trong dòng:
- Tài liệu liên kết: tiêu đề, bản xem trước, huy hiệu tên miền, không còn URL thô lộ ra. Tài liệu có thể chỉnh sửa sẽ mở trong tab mới với gợi ý ngôn ngữ phù hợp (
hl=), nên người đọc tiếng Bồ Đào Nha của Brazil không bị đưa vào giao diện Docs tiếng Anh. - Ảnh tải lên: có hình thu nhỏ khi tải lên, bố cục lưới tự điều chỉnh trong khung tin nhắn để ảnh không bị tràn ở chiều rộng hẹp.
- Ba cấp quyền truy cập tài liệu: edit, view hoặc no-access, kèm tự động chia sẻ khi quyền cho phép. Người tham gia không có quyền truy cập Drive vẫn thấy bản xem trước chỉ đọc gọn gàng, không phải trang "permission denied".
Dịch theo yêu cầu: nhanh hơn, rẻ hơn, ít nhiễu hơn
Trước đây, chúng tôi dịch mọi tin nhắn trong lịch sử của bạn khi bạn đổi ngôn ngữ. Với các kênh nhóm hoạt động lâu dài, điều đó đồng nghĩa với việc gọi API lại hàng giờ cho những tin nhắn bạn sẽ không bao giờ cuộn lại xem.
v1.2 dùng IntersectionObserver: bản dịch được tạo theo yêu cầu, khi tin nhắn xuất hiện trong khung nhìn. Đổi ngôn ngữ giữa cuộc họp giờ đây là tức thì. Chúng tôi cũng dừng ngay việc polling danh sách chat khi gặp lỗi 401, điều này đã chấm dứt một chuỗi lỗi chạy ngầm mà bạn sẽ không bao giờ nhận ra nhưng chúng tôi thì có.
Phiên âm giọng nói: được làm sạch trước khi hiển thị
Văn bản phiên âm được làm sạch trước khi hiển thị, nên không có chuyện chèn HTML qua một cách phát âm "sáng tạo". Nghe thì hiển nhiên. Nhưng hai tháng trước thì chưa phải vậy.