वह मीटिंग रूम जो अंग्रेज़ी पर नहीं लौटता
आप एक सीमा-पार मीटिंग शेड्यूल करते हैं। लोग तीन अलग टाइम ज़ोन से जुड़ते हैं। नब्बे सेकंड के भीतर कोई कहता है "चलिए इसे अंग्रेज़ी में ही रखते हैं ताकि हम सब एक ही पेज पर रहें", और आप देखते हैं कि कमरे के सबसे वरिष्ठ लोग चुप हो जाते हैं।
यह बदलाव एक कर है। समय पर, आत्मविश्वास पर, और इस पर कि वास्तव में क्या तय होता है।
हमने पिछले छह हफ़्ते InterMIND को इस सिद्धांत के इर्द-गिर्द दोबारा बनाने में लगाए कि कमरे में किसी को भी भाषा बदलनी न पड़े। न बातचीत के लिए। न चैट के लिए। न उन नोट्स के लिए जो आप लाइव टाइप कर रहे हैं। न उस एडिट हिस्ट्री के लिए जिसे आप कल देखेंगे।
यहाँ बताया गया है कि क्या बदला।
1. हर चीज़ हर व्यूअर के हिसाब से, सिर्फ़ आवाज़ नहीं
लाइव वॉइस ट्रांसलेशन हमेशा से मुख्य आकर्षण रहा है: 21 भाषाएँ, एक सेकंड से भी कम लेटेंसी, और कॉल की शुरुआत में हर प्रतिभागी अपनी भाषा चुनता है। v1.2 आवाज़ के आसपास की हर चीज़ को भी बहुभाषी बनाता है, और उसे हर व्यूअर के लिए रीयल-टाइम में सिंक रखता है। ("21" ही क्यों है, और दूसरी जगहों पर दिखने वाली बड़ी संख्याएँ क्यों नहीं, यह जानने के लिए यह विवरण देखें।)
चैट: हर एडिट आपकी भाषा में दिखाता है कि क्या बदला
चैट में हर संदेश टाइप होते ही अनुवादित हो जाता है। v1.2 में बदलाव यह है: जब कोई संदेश एडिट करता है, तो हम उसका पिछला अनुवाद फेंककर आपको नया अनुवाद नहीं थमा देते। हम पिछले अनुवादित टेक्स्ट और नए अनुवादित टेक्स्ट के बीच का अंतर (diff) आपकी भाषा में निकालते हैं और उसे इनलाइन दिखाते हैं।
इसलिए जब आपका सहकर्मी "we should review by Tuesday" को "we should review by Thursday" में बदलता है, तो आपके स्पैनिश समीक्षक को दोबारा अनुवादित पैराग्राफ़ नहीं दिखता, जिसमें वे अंदाज़ा लगाते रहें कि क्या बदला। उन्हें हाइलाइट किया हुआ martes → jueves दिखता है। Git diff जैसी ही सटीकता, लेकिन उन 21 भाषाओं में से उस भाषा में जिसमें वे पढ़ते हैं।
अगर एडिट सिर्फ़ फ़ॉर्मैटिंग बदलता है, जैसे बोल्ड, इटैलिक या लिस्ट मार्कर, तब भी हम दोबारा अनुवाद करते हैं, क्योंकि सिर्फ़ फ़ॉर्मैट वाले एडिट में अक्सर अर्थ बदल जाता है (एक कॉमा वाक्यांश का विभाजन बन जाता है)। और नया अनुवाद स्ट्रीम होते समय पिछला अनुवाद स्क्रीन पर बना रहता है, इसलिए API के लौटने के इंतज़ार में आपको कभी खाली जगह नहीं देखनी पड़ती।
नोट्स: लाइव, अक्षर-दर-अक्षर, हर भाषा में
होस्ट मीटिंग के दौरान शेयर्ड-नोट पेन खोलता है और टाइप करना शुरू करता है। हर प्रतिभागी नोट को अपनी भाषा में, अक्षर-दर-अक्षर, एक सेकंड से कम के प्रसार के साथ देखता है। किसी पंक्ति को एडिट करें और व्यूअर्स को प्रति-भाषा diff मिलता है, चैट एडिट जैसा ही मॉडल।
हमने नोट ट्रांसलेशन को भी दोबारा लिखा है ताकि वह पूरे दस्तावेज़ की जगह लिस्ट आइटम अलग-अलग अनुवादित करे। अंग्रेज़ी में नेस्टेड चेकलिस्ट का ढाँचा तब नहीं बचता जब आप पूरे markdown ब्लॉब का अनुवाद करते हैं, क्योंकि मॉडल पदानुक्रम को समतल कर देता है। हर <li> का स्वतंत्र रूप से अनुवाद करने से हर भाषा में इंडेंटेशन, नंबरिंग और इनलाइन फ़ॉर्मैटिंग बरकरार रहती है।
अटैचमेंट: चैट के भीतर के दस्तावेज़ कमरे की भाषा बोलते हैं
चैट में Google Doc, OneDrive लिंक या PDF डालें। v1.2 उन्हें इनलाइन रेंडर करता है:
- लिंक किए गए दस्तावेज़ — शीर्षक, प्रीव्यू, डोमेन बैज, कोई कच्चा URL नहीं दिखता। एडिट किए जा सकने वाले दस्तावेज़ सही लोकेल हिंट (
hl=) के साथ नए टैब में खुलते हैं, ताकि ब्राज़ीलियाई पुर्तगाली पाठक अंग्रेज़ी Docs UI में न पहुँचे। - इमेज अपलोड — अपलोड पर थंबनेल, और संदेश बबल में इन्ट्रिंसिक-ग्रिड रिस्पॉन्सिव लेआउट, ताकि संकरी चौड़ाई पर इमेज बाहर न निकलें।
- तीन-स्तरीय दस्तावेज़ एक्सेस — edit, view, या no-access — अनुमति मिलने पर ऑटो-शेयर के साथ। जिन प्रतिभागियों के पास Drive एक्सेस नहीं है, उन्हें भी साफ़-सुथरा रीड-ओनली प्रीव्यू दिखता है, "permission denied" पेज नहीं।
लेज़ी ट्रांसलेशन: तेज़, सस्ता, कम शोर वाला
पहले जब आप भाषा बदलते थे, तो हम आपकी हिस्ट्री का हर संदेश अनुवादित करते थे। लंबे समय से चल रहे टीम चैनलों के लिए इसका मतलब था उन संदेशों के लिए घंटों की API कॉल दोहराना, जिन तक आप कभी वापस स्क्रॉल नहीं करते।
v1.2 IntersectionObserver का उपयोग करता है: अनुवाद माँग पर होते हैं, जब कोई संदेश व्यूपोर्ट में आता है। मीटिंग के बीच में भाषा बदलना अब तुरंत होता है। हम 401 आते ही चैट-लिस्ट पोलिंग भी तुरंत रोक देते हैं, जिससे एक बेकाबू एरर स्ट्रीम शांत हो गई, जिसे आप शायद कभी नोटिस नहीं करते, लेकिन हमने किया।
वॉइस ट्रांसक्रिप्शन: रेंडर से पहले सैनिटाइज़
ट्रांसक्रिप्शन टेक्स्ट रेंडर होने से पहले सैनिटाइज़ किया जाता है, यानी किसी रचनात्मक उच्चारण के ज़रिए HTML इंजेक्शन संभव नहीं। यह स्पष्ट लगता है। लेकिन दो महीने पहले यह सच नहीं था।