অন্তর্নির্মিত AI সহ অনুবাদ

প্রকাশিত: নভেম্বর 13, 2024

স্থানীয় AI মডেল ব্যবহার করে ব্রাউজারে টেক্সট অনুবাদ করতে Chrome-এ Translator API ব্যবহার করুন।

আপনার ওয়েবসাইট ইতিমধ্যেই একাধিক ভাষায় ওয়েবসাইটের বিষয়বস্তু অফার করতে পারে, যাতে এটি বিশ্বব্যাপী দর্শকদের কাছে অ্যাক্সেসযোগ্য হয়। Translator API-এর সাহায্যে ব্যবহারকারীরা তাদের প্রথম ভাষায় অবদান রাখতে পারেন। উদাহরণস্বরূপ, ব্যবহারকারীরা তাদের প্রথম ভাষায় সমর্থন চ্যাটে অংশগ্রহণ করতে পারে এবং আপনার সাইট ব্যবহারকারীর ডিভাইস ছেড়ে যাওয়ার আগে আপনার সমর্থন এজেন্টরা যে ভাষায় ব্যবহার করে তাতে এটি অনুবাদ করতে পারে। এটি সমস্ত ব্যবহারকারীর জন্য একটি মসৃণ, দ্রুত এবং অন্তর্ভুক্ত অভিজ্ঞতা তৈরি করে৷

ওয়েবে সামগ্রীর অনুবাদের জন্য সাধারণত একটি ক্লাউড পরিষেবা ব্যবহার করে প্রয়োজন হয়৷ প্রথমত, উৎসের বিষয়বস্তু একটি সার্ভারে আপলোড করা হয়, যা একটি টার্গেট ভাষায় অনুবাদ চালায়, তারপর ফলস্বরূপ পাঠ্য ডাউনলোড করা হয় এবং ব্যবহারকারীর কাছে ফেরত দেওয়া হয়। ক্লায়েন্টে অনুবাদ চালানোর মাধ্যমে, আপনি সার্ভার ট্রিপের জন্য প্রয়োজনীয় সময় এবং অনুবাদ পরিষেবা হোস্ট করার খরচ বাঁচান।

প্রাপ্যতা

যদিও নির্বাচিত টার্গেট ভাষা সর্বদা পরিচিত, কিছু পরিস্থিতিতে উৎস ভাষা অজানা হতে পারে, উদাহরণস্বরূপ, ব্যবহারকারী-উত্পাদিত সামগ্রী সহ। এই ধরনের ক্ষেত্রে, ট্রান্সলেটর এপিআই প্রস্তাবে অনুবাদক এপিআই এবং ল্যাঙ্গুয়েজ ডিটেক্টর এপিআই উভয়ই অন্তর্ভুক্ত থাকে, যা একটি অরিজিন ট্রায়ালেও উপলব্ধ। এই APIগুলি একসাথে ব্যবহার করতে উভয় মূল ট্রায়ালের জন্য সাইন আপ করুন৷

মূল বিচারের জন্য সাইন আপ করুন

অনুবাদক API ব্যবহার শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google-এর জেনারেটিভ এআই নিষিদ্ধ ব্যবহারের নীতি স্বীকার করুন।
  2. অনুবাদক API অরিজিন ট্রায়ালে যান।
  3. নিবন্ধন ক্লিক করুন এবং ফর্ম পূরণ করুন.
    • ওয়েব অরিজিন ফিল্ডে, আপনার অরিজিন বা এক্সটেনশন ID, chrome-extension://YOUR_EXTENSION_ID প্রদান করুন।
  4. জমা দিতে, নিবন্ধন ক্লিক করুন.
  5. প্রদত্ত টোকেনটি অনুলিপি করুন এবং এটিকে আপনার মূল বা আপনার এক্সটেনশনের ফাইলের প্রতিটি ওয়েব পৃষ্ঠাতে যোগ করুন, যেখানে আপনি ট্রায়াল সক্ষম করতে চান৷
  6. Translator API ব্যবহার করা শুরু করুন।

অরিজিন ট্রায়ালগুলি কীভাবে শুরু করবেন সে সম্পর্কে আরও জানুন৷

Translator API ব্যবহার করুন

অনুবাদক API সমর্থিত কিনা তা নির্ধারণ করতে, নিম্নলিখিত বৈশিষ্ট্য সনাক্তকরণ স্নিপেট চালান।

if ('translation' in self && 'createTranslator' in self.translation) {
  // The Translator API is supported.
}

ভাষা জোড়া সমর্থন পরীক্ষা করুন

ভাষা প্যাক দিয়ে অনুবাদ পরিচালনা করা হয়, চাহিদা অনুযায়ী ডাউনলোড করা হয়। একটি ভাষা প্যাক একটি প্রদত্ত ভাষার জন্য একটি অভিধানের মত। এই প্যাকগুলি অ্যাসিঙ্ক্রোনাস canTranslate() ফাংশনের সাথে যুক্ত করা হয়, যা আপনাকে একটি ভাষা জোড়া সমর্থিত কিনা তা নির্ধারণ করতে দেয়।

canTranslate() ফাংশনের জন্য দুটি ক্ষেত্র সহ একটি options পরামিতি প্রয়োজন:

  • sourceLanguage : পাঠ্যের বর্তমান ভাষা।
  • targetLanguage ল্যাঙ্গুয়েজ : চূড়ান্ত ভাষায় টেক্সট অনুবাদ করা উচিত।

স্ট্রিং হিসাবে BCP 47 ভাষার শর্ট কোড ব্যবহার করুন। উদাহরণস্বরূপ, স্প্যানিশের জন্য 'es' বা ফ্রেঞ্চের জন্য 'fr'

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

canTranslate() ফাংশন নিম্নলিখিত ফলাফলগুলির যেকোনো একটি ফিরিয়ে দিতে পারে:

  • no : অনুরোধ অনুযায়ী অনুবাদ করা এই ব্রাউজারের পক্ষে সম্ভব নয়৷
  • readily : ব্রাউজার অনুরোধ অনুযায়ী অনুবাদ করতে পারে।
  • after-download : ব্রাউজার অনুবাদটি সম্পাদন করতে পারে, তবে শুধুমাত্র প্রাসঙ্গিক মডেল বা ভাষা প্যাক ডাউনলোড করার পরে।

আপনি downloadprogress ইভেন্ট ব্যবহার করে ডাউনলোডের অগ্রগতি শুনতে পারেন:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

যদি ডাউনলোড ব্যর্থ হয়, তাহলে downloadprogress ইভেন্টগুলি নির্গত হওয়া বন্ধ করে এবং ready প্রতিশ্রুতি প্রত্যাখ্যান করা হয়।

অনুবাদক তৈরি করুন এবং চালান

একটি অনুবাদক তৈরি করতে, অ্যাসিঙ্ক্রোনাস translation.createTranslator() ফাংশনটি কল করুন। canTranslate() এর মতো, এটির জন্য দুটি ক্ষেত্র সহ একটি বিকল্প পরামিতি প্রয়োজন, একটি sourceLanguage এর জন্য এবং একটি targetLanguage এর জন্য।

// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

একবার আপনার অনুবাদক হয়ে গেলে, আপনার পাঠ্য অনুবাদ করতে অ্যাসিঙ্ক্রোনাস translate() ফাংশনটিতে কল করুন।

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

মূল বিচারে সীমাবদ্ধতা

অরিজিন ট্রায়ালের সময় নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য।

সমর্থিত ভাষা জোড়া

এই সময়ে, অনুবাদের জন্য তিনটি ভাষা পর্যন্ত প্যাক ডাউনলোড করা যাবে। আমরা ব্যবহারকারীর গোপনীয়তার জন্য উচ্চ মান বজায় রেখে ভবিষ্যতের রিলিজে সমর্থিত ভাষার পরিসর প্রসারিত করতে প্রতিশ্রুতিবদ্ধ। আপনি নিশ্চিত করতে পারেন যে আপনার প্রয়োজনীয় ভাষা জোড়া canTranslate() ফাংশনের সাথে সমর্থিত কিনা।

এটা সম্ভব যে নির্দিষ্ট, কম ঘন ঘন ব্যবহৃত ভাষা জোড়া আঙ্গুলের ছাপের জন্য ব্যবহার করা হতে পারে। উদাহরণস্বরূপ, গ্যালিক এবং কাতালানের মতো কম সাধারণ ভাষার তুলনায় ইংরেজি এবং স্প্যানিশের মধ্যে অনুবাদ করা বেশি সাধারণ। একটি কম সাধারণ ভাষা যুগল ব্যবহারকারী সনাক্তকরণের জন্য একটি ডেটা পয়েন্ট হিসাবে বিবেচিত হতে পারে।

অরিজিন ট্রায়ালের সময়, আমরা ব্যবহারকারীর গোপনীয়তা রক্ষা করার জন্য সম্ভাব্য অনুবাদযোগ্য ভাষা জোড়া সীমিত করছি। ভাষা জোড়া অবশ্যই নিম্নলিখিত মানদণ্ড পূরণ করতে হবে:

  • উৎস এবং গন্তব্য ভাষা উভয়ই Chrome-এ পছন্দের ভাষা হিসেবে সেট করা আছে।
  • অথবা, তার ভাষাগুলির মধ্যে একটি Chrome-এ একটি পছন্দের ভাষা হিসাবে সেট করা হয়েছে, এবং অন্যটি নিম্নলিখিত জনপ্রিয় ভাষার মধ্যে রয়েছে:
    • ইংরেজি ( en )
    • ম্যান্ডারিন চাইনিজ ( zh ; সরলীকৃত) বা তাইওয়ানিজ ম্যান্ডারিন ( zh-Hant ; ঐতিহ্যবাহী)
    • জাপানি ( ja )
    • পর্তুগিজ ( pt )
    • রাশিয়ান ( ru )
    • স্প্যানিশ ( es )
    • তুর্কি ( tr )
    • হিন্দি ( hi )
    • ভিয়েতনামী ( vi )
    • বাংলা ( bn )

স্থানীয় পরীক্ষার জন্য ভাষা সীমাবদ্ধতা বাইপাস

স্থানীয় প্রোটোটাইপিংয়ের জন্য, আপনি কমান্ড লাইন বিকল্প --disable-features=TranslationAPIAcceptLanguagesCheck দিয়ে Chrome চালিয়ে এই চেকগুলিকে বাইপাস করতে পারেন। বিকল্পভাবে, ভাষা প্যাক সীমা ছাড়াই সক্ষম করতে chrome://flags/#translation-api সেট করুন।

ভাষা প্যাকগুলি ম্যানুয়ালি ইনস্টল এবং আনইনস্টল করতে chrome://on-device-translation-internals/ এ যান৷

অনুক্রমিক অনুবাদ

অনুবাদগুলি ক্রমানুসারে প্রক্রিয়া করা হয়। যদি আপনি অনুবাদ করার জন্য প্রচুর পরিমাণে পাঠ্য পাঠান, তবে পরবর্তী অনুবাদগুলি পূর্ববর্তীগুলি সম্পূর্ণ না হওয়া পর্যন্ত অবরুদ্ধ করা হয়।

আপনার অনুবাদের অনুরোধের সর্বোত্তম প্রতিক্রিয়ার জন্য, সেগুলিকে একত্রিত করুন এবং একটি লোডিং ইন্টারফেস প্রদর্শন করার কথা বিবেচনা করুন, যেমন একটি স্পিনার, বোঝাতে যে একটি অনুবাদ চলছে৷

ওয়েব কর্মীর প্রাপ্যতা

অরিজিন ট্রায়ালের সময়, অনুবাদক API শুধুমাত্র প্রধান থ্রেড থেকে সমর্থিত। API ব্যাপকভাবে উপলব্ধ হলে আমরা ওয়েব কর্মীদের মধ্যে এটিকে সমর্থন করতে চাই।

ডেমো

আপনি ট্রান্সলেটর এপিআই দেখতে পারেন, যা ল্যাঙ্গুয়েজ ডিটেক্টর এপিআই এর সংমিশ্রণে ব্যবহৃত হয়, ট্রান্সলেটর এবং ল্যাঙ্গুয়েজ ডিটেক্টর এপিআই প্লেগ্রাউন্ডে

প্রমিতকরণ প্রচেষ্টা

ক্রস-ব্রাউজার সামঞ্জস্য নিশ্চিত করতে আমরা অনুবাদক API-কে মানসম্মত করার জন্য কাজ করছি।

আমাদের API প্রস্তাবটি সম্প্রদায়ের সমর্থন পেয়েছে এবং আরও আলোচনার জন্য W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে চলে গেছে। ক্রোম টিম W3C টেকনিক্যাল আর্কিটেকচার গ্রুপ থেকে প্রতিক্রিয়ার অনুরোধ করেছে এবং Mozilla এবং WebKit-কে তাদের স্ট্যান্ডার্ড অবস্থানের জন্য জিজ্ঞাসা করেছে।

অংশগ্রহণ করুন এবং মতামত শেয়ার করুন

অরিজিন ট্রায়ালে যোগ দিয়ে এখনই অনুবাদক API পরীক্ষা করা শুরু করুন এবং আপনার প্রতিক্রিয়া শেয়ার করুন। আপনার ইনপুট সরাসরি প্রভাবিত করতে পারে কিভাবে আমরা এই API এর ভবিষ্যত সংস্করণগুলি তৈরি এবং প্রয়োগ করি এবং সমস্ত অন্তর্নির্মিত AI API গুলি।