১. সংক্ষিপ্ত বিবরণ
গুগল ক্লাউড ট্রান্সলেশন এপিআই অত্যাধুনিক নিউরাল মেশিন ট্রান্সলেশন ব্যবহার করে যেকোনো স্ট্রিংকে যেকোনো সমর্থিত ভাষায় গতিশীলভাবে অনুবাদ করার জন্য একটি সহজ প্রোগ্রাম্যাটিক ইন্টারফেস প্রদান করে। উৎস ভাষা অজানা থাকলে ভাষা শনাক্ত করার জন্যও এটি ব্যবহার করা যেতে পারে।
এই কোডল্যাবে, আপনি C# এর সাথে Translation API ব্যবহার করার উপর মনোযোগ দেবেন। আপনি শিখবেন কীভাবে উপলব্ধ ভাষাগুলির তালিকা তৈরি করতে হয়, টেক্সট অনুবাদ করতে হয় এবং প্রদত্ত টেক্সটের ভাষা শনাক্ত করতে হয়।
আপনি যা শিখবেন
- ক্লাউড শেল কীভাবে ব্যবহার করবেন
- ট্রান্সলেশন এপিআই কীভাবে সক্রিয় করবেন
- এপিআই অনুরোধগুলি কীভাবে প্রমাণীকরণ করবেন
- C# এর জন্য গুগল ক্লাউড ক্লায়েন্ট লাইব্রেরি কীভাবে ইনস্টল করবেন
- উপলব্ধ ভাষাগুলির তালিকা কীভাবে করবেন
- কীভাবে পাঠ্য অনুবাদ করবেন
- ভাষা কীভাবে সনাক্ত করবেন
আপনার যা যা লাগবে
- একটি গুগল ক্লাউড প্ল্যাটফর্ম প্রকল্প
- একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
- C# ব্যবহারে পরিচিতি
জরিপ
আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?
C# নিয়ে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?
গুগল ক্লাউড প্ল্যাটফর্ম পরিষেবা ব্যবহারের অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?
২. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিতে পরিবেশ সেটআপ
- Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।



- প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
- প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত
PROJECT_IDহিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে। - আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
- এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।
গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যেই করা যাবে। আপনাকে কিছুই ইনস্টল করতে হবে না।
৩. অনুবাদ এপিআই সক্রিয় করুন
ট্রান্সলেশন এপিআই ব্যবহার শুরু করার আগে, আপনাকে অবশ্যই এপিআইটি সক্রিয় করতে হবে। ক্লাউড শেল-এ নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি এপিআইটি সক্রিয় করতে পারেন:
gcloud services enable translate.googleapis.com
৪. C# এর জন্য Google Cloud Translation API ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
প্রথমে, একটি সহজ C# কনসোল অ্যাপ্লিকেশন তৈরি করুন যা আপনি Translation API স্যাম্পলগুলো চালানোর জন্য ব্যবহার করবেন।
dotnet new console -n TranslationApiDemo
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
এরপর, TranslationApiDemo ফোল্ডারে যান এবং প্রজেক্টে Google.Cloud.Translation.V2 NuGet প্যাকেজটি যোগ করুন:
cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2
info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
এখন, আপনি ট্রান্সলেশন এপিআই ব্যবহার করার জন্য প্রস্তুত!
৫. উপলব্ধ ভাষাগুলির তালিকা
এই অংশে, আপনি প্রথমে ট্রান্সলেশন এপিআই-তে উপলব্ধ সমস্ত ভাষার তালিকা তৈরি করবেন।
প্রথমে, ক্লাউড শেলের উপরের ডান দিক থেকে কোড এডিটরটি খুলুন:

TranslationApiDemo ফোল্ডারের ভিতরে থাকা Program.cs ফাইলটিতে যান এবং কোডটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
foreach (var language in client.ListLanguages(LanguageCodes.English))
{
Console.WriteLine($"{language.Code}\t{language.Name}");
}
}
}
}
কোডটি ভালোভাবে দেখতে এক বা দুই মিনিট সময় নিন। লক্ষ্য করুন, আমরা ভাষার নামগুলো ইংরেজিতে তালিকাভুক্ত করছি, কিন্তু এটি যেকোনো ভাষাতেই তালিকাভুক্ত করা যেতে পারে।
ক্লাউড শেলে ফিরে এসে অ্যাপটি চালান। আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:
dotnet run
af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
...
yi Yiddish
yo Yoruba
zu Zulu
সারসংক্ষেপ
এই ধাপে, আপনি ট্রান্সলেশন এপিআই-তে উপলব্ধ সমস্ত ভাষার তালিকা করতে পেরেছেন। সমর্থিত ভাষাগুলির সম্পূর্ণ তালিকা আপনি ল্যাঙ্গুয়েজ সাপোর্ট পেজে খুঁজে পাবেন।
৬. পাঠ্য অনুবাদ করুন
আপনি এক ভাষার লেখা অন্য ভাষায় অনুবাদ করতে Translate API ব্যবহার করতে পারেন। নিউরাল মেশিন ট্রান্সলেশন (NMT) মডেল ব্যবহার করে লেখাটি অনুবাদ করা হয়। অনুরোধ করা ভাষা জোড়ার জন্য যদি NMT মডেলটি সমর্থিত না হয়, তাহলে ফ্রেজ-বেসড মেশিন ট্রান্সলেশন (PBMT) মডেল ব্যবহার করা হয়।
টেক্সট অনুবাদ করতে, TranslationApiDemo ফোল্ডারের ভিতরে থাকা Program.cs ফাইলে যান এবং কোডটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Hello World!";
var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
Console.WriteLine(response.TranslatedText);
}
}
}
কোডটি মনোযোগ দিয়ে দেখতে এক-দুই মিনিট সময় নিন। এটি "Hello World" লেখাটিকে ইংরেজি থেকে তুর্কি ভাষায় অনুবাদ করে।
ক্লাউড শেলে ফিরে এসে অ্যাপটি চালান। আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:
dotnet run
Selam Dünya!
সারসংক্ষেপ
এই ধাপে, আপনি ট্রান্সলেশন এপিআই ব্যবহার করে একটি টেক্সট ইংরেজি থেকে তুর্কি ভাষায় অনুবাদ করতে সক্ষম হয়েছেন। টেক্সট অনুবাদ সম্পর্কে আরও পড়ুন।
৭. ভাষা শনাক্ত করুন
আপনি Translate API ব্যবহার করে কোনো টেক্সট স্ট্রিং-এর ভাষাও শনাক্ত করতে পারেন।
ভাষা শনাক্ত করার জন্য, TranslationApiDemo ফোল্ডারের ভিতরে থাকা Program.cs ফাইলে যান এবং কোডটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Selam Dünya!";
var detection = client.DetectLanguage(text);
Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
}
}
}
কোডটি ভালোভাবে দেখতে এক-দুই মিনিট সময় নিন। এটি "Selam Dünya!" লেখাটির ভাষা শনাক্ত করে, যা একটি তুর্কি বাক্যাংশ।
ক্লাউড শেলে ফিরে এসে অ্যাপটি চালান। আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:
dotnet run
Language: tr Confidence: 1
সারসংক্ষেপ
এই ধাপে, আপনি ট্রান্সলেশন এপিআই ব্যবহার করে কোনো টেক্সটের ভাষা শনাক্ত করতে পেরেছেন। ভাষা শনাক্তকরণ সম্পর্কে আরও পড়ুন।
৮. অভিনন্দন!
আপনি C# ব্যবহার করে Translation API ব্যবহার করার পদ্ধতি শিখেছেন!
পরিষ্কার করা
এই কুইকস্টার্টে ব্যবহৃত রিসোর্সগুলির জন্য আপনার গুগল ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্টে চার্জ হওয়া এড়াতে:
- ক্লাউড প্ল্যাটফর্ম কনসোলে যান।
- যে প্রজেক্টটি বন্ধ করতে চান, সেটি নির্বাচন করুন, তারপর উপরে থাকা 'ডিলিট' বোতামে ক্লিক করুন: এটি প্রজেক্টটিকে মুছে ফেলার জন্য নির্ধারিত করবে।
আরও জানুন
- গুগল ক্লাউড ট্রান্সলেশন এপিআই: https://cloud.google.com/translate/docs
- গুগল ক্লাউড প্ল্যাটফর্মে সি#/.নেট: https://cloud.google.com/dotnet/
- গুগল ক্লাউড .NET ক্লায়েন্ট: https://googlecloudplatform.github.io/google-cloud-dotnet/
লাইসেন্স
এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন ২.০ জেনেরিক লাইসেন্সের অধীনে রয়েছে।