যে মিটিং রুম ইংরেজিতে সুইচ করে না
আপনি একটি আন্তঃসীমান্ত মিটিং শিডিউল করলেন। তিনটি টাইম জোন থেকে লোকজন যোগ দিলেন। নব্বই সেকেন্ডের মধ্যে কেউ একজন বললেন "let's keep this in English so we're all on the same page", আর আপনি দেখলেন ঘরের সবচেয়ে সিনিয়র মানুষগুলো চুপ হয়ে গেলেন।
এই সুইচ একটি কর, যা দিতে হয় সময়ে, আত্মবিশ্বাসে, আর আসলে কী সিদ্ধান্ত হবে তাতে।
গত ছয় সপ্তাহ আমরা 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 পান, চ্যাট এডিটের মতোই।
আমরা নোট অনুবাদের পদ্ধতিও নতুন করে লিখেছি। এখন পুরো ডকুমেন্টের বদলে প্রতিটি লিস্ট আইটেম আলাদাভাবে অনুবাদ হয়। ইংরেজিতে লেখা নেস্টেড চেকলিস্ট মার্কডাউনের পুরো ব্লব হিসেবে অনুবাদ করলে তার কাঠামো টেকে না, মডেল হায়ারার্কি সমতল করে ফেলে। প্রতিটি <li> আলাদাভাবে অনুবাদ করলে ইন্ডেন্টেশন, নম্বরিং আর ইনলাইন ফরম্যাটিং সব ভাষাতেই অক্ষত থাকে।
অ্যাটাচমেন্ট: চ্যাটের ভেতরের ডকুমেন্টও ঘরের ভাষায় কথা বলে
চ্যাটে Google Doc, OneDrive লিংক বা PDF ফেলুন। v1.2 সেগুলো ইনলাইনে রেন্ডার করে:
- লিংক করা ডকুমেন্ট: শিরোনাম, প্রিভিউ, ডোমেইন ব্যাজ, কোনো কাঁচা URL বেরিয়ে থাকে না। এডিটযোগ্য ডকুমেন্ট সঠিক লোকেল হিন্ট (
hl=) সহ নতুন ট্যাবে খোলে, ফলে ব্রাজিলিয়ান পর্তুগিজ পাঠক ইংরেজি Docs UI-তে গিয়ে পড়েন না। - ছবি আপলোড: আপলোডের সময় থাম্বনেইল, আর মেসেজ বাবলে ইন্ট্রিনসিক-গ্রিড রেসপনসিভ লেআউট, যাতে সংকীর্ণ প্রস্থে ছবি উপচে না পড়ে।
- তিন স্তরের ডকুমেন্ট অ্যাক্সেস: edit, view বা no-access, অনুমতি থাকলে অটো-শেয়ারসহ। Drive অ্যাক্সেস না থাকা অংশগ্রহণকারীরাও পরিষ্কার রিড-অনলি প্রিভিউ দেখেন, "permission denied" পেজ নয়।
লেজি অনুবাদ: দ্রুততর, সস্তা, কম কোলাহল
আগে ভাষা বদলালে আমরা আপনার হিস্ট্রির প্রতিটি বার্তা অনুবাদ করতাম। দীর্ঘদিন চলা টিম চ্যানেলে এর মানে ছিল এমন সব বার্তার জন্য কয়েক ঘণ্টার API কল আবার চালানো, যেগুলোতে আপনি কখনো স্ক্রল করে ফিরতেন না।
v1.2 IntersectionObserver ব্যবহার করে: বার্তা ভিউপোর্টে এলে তবেই অনুবাদ হয়। মিটিং চলাকালীন ভাষা বদলানো এখন তাৎক্ষণিক। আমরা 401 পেলেই চ্যাট-লিস্ট পোলিংও সঙ্গে সঙ্গে বন্ধ করি। এতে একটি অনিয়ন্ত্রিত এরর স্ট্রিম থেমেছে, যা আপনি কখনো টেরই পেতেন না, কিন্তু আমরা পেয়েছি।
ভয়েস ট্রান্সক্রিপশন: রেন্ডারের আগে স্যানিটাইজ করা
ট্রান্সক্রিপশনের পাঠ্য রেন্ডারের আগে স্যানিটাইজ করা হয়, ফলে কোনো সৃজনশীল উচ্চারণের মাধ্যমে HTML ইনজেকশন সম্ভব নয়। কথাটা স্বতঃসিদ্ধ শোনায়। দুই মাস আগে এটা সত্যিও ছিল না।