۱. مرور کلی
API ترجمه ابری گوگل (Google Cloud Translation API) یک رابط برنامهنویسی ساده برای ترجمه پویای یک رشته دلخواه به هر زبان پشتیبانیشده با استفاده از ترجمه ماشینی عصبی پیشرفته ارائه میدهد. همچنین میتواند برای تشخیص زبان در مواردی که زبان مبدا ناشناخته است، مورد استفاده قرار گیرد.
در این آزمایشگاه کد، شما بر استفاده از API ترجمه با سی شارپ تمرکز خواهید کرد. یاد خواهید گرفت که چگونه زبانهای موجود را فهرست کنید، متن را ترجمه کنید و همچنین زبان یک متن داده شده را تشخیص دهید.
آنچه یاد خواهید گرفت
- نحوه استفاده از پوسته ابری
- نحوه فعال کردن API ترجمه
- نحوه احراز هویت درخواستهای API
- نحوه نصب کتابخانه کلاینت گوگل کلود برای سی شارپ
- نحوه لیست کردن زبانهای موجود
- نحوه ترجمه متن
- نحوه تشخیص زبان
آنچه نیاز دارید
نظرسنجی
چگونه از این آموزش استفاده خواهید کرد؟
تجربه خود را با C# چگونه ارزیابی میکنید؟
تجربه خود را در استفاده از خدمات پلتفرم ابری گوگل چگونه ارزیابی میکنید؟
۲. تنظیمات و الزامات
تنظیم محیط خودتنظیم
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. شما همیشه میتوانید آن را بهروزرسانی کنید.
- شناسه پروژه در تمام پروژههای گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چه باشد. در اکثر آزمایشگاههای کد، باید شناسه پروژه خود را (که معمولاً با عنوان
PROJECT_IDشناخته میشود) ارجاع دهید. اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی میماند. - برای اطلاع شما، یک مقدار سوم، شماره پروژه ، وجود دارد که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد هزینه زیادی نخواهد داشت، اگر اصلاً هزینهای داشته باشد. برای خاموش کردن منابع به منظور جلوگیری از پرداخت صورتحساب پس از این آموزش، میتوانید منابعی را که ایجاد کردهاید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه میدهد و روی فضای ابری گوگل اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۳. فعال کردن API ترجمه
قبل از اینکه بتوانید از API ترجمه استفاده کنید، باید آن را فعال کنید. میتوانید با استفاده از دستور زیر در Cloud Shell، API را فعال کنید:
gcloud services enable translate.googleapis.com
۴. کتابخانه کلاینت Google Cloud Translation API را برای C# نصب کنید.
ابتدا، یک برنامه کنسول ساده 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'.
حالا، شما آماده استفاده از API ترجمه هستید!
۵. فهرست زبانهای موجود
در این بخش، ابتدا تمام زبانهای موجود در Translation API را فهرست خواهید کرد.
ابتدا، ویرایشگر کد را از سمت راست بالای Cloud Shell باز کنید:

به فایل Program.cs در داخل پوشه TranslationApiDemo بروید و کد زیر را جایگزین کنید:
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}");
}
}
}
}
یک یا دو دقیقه وقت بگذارید و کد را مطالعه کنید*.* توجه داشته باشید که ما نام زبانها را به انگلیسی فهرست کردهایم، اما میتوان آن را به هر زبانی فهرست کرد.
به Cloud Shell برگردید و برنامه را اجرا کنید. باید خروجی زیر را مشاهده کنید:
dotnet run
af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
...
yi Yiddish
yo Yoruba
zu Zulu
خلاصه
در این مرحله، شما توانستید تمام زبانهای موجود در Translation API را فهرست کنید. میتوانید لیست کامل زبانهای پشتیبانیشده را در صفحه پشتیبانی زبان پیدا کنید.
۶. ترجمه متن
شما میتوانید از Translate API برای ترجمه متنی از یک زبان به زبان دیگر استفاده کنید. متن با استفاده از مدل ترجمه ماشینی عصبی (NMT) ترجمه میشود. اگر مدل NMT برای جفت ترجمه زبان درخواستی پشتیبانی نشود، از مدل ترجمه ماشینی مبتنی بر عبارت (PBMT) استفاده میشود.
برای ترجمه متن، به فایل Program.cs در داخل پوشه TranslationApiDemo بروید و کد زیر را جایگزین کنید:
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" را از انگلیسی به ترکی* ترجمه میکند.
به Cloud Shell برگردید و برنامه را اجرا کنید. باید خروجی زیر را مشاهده کنید:
dotnet run
Selam Dünya!
خلاصه
در این مرحله، شما توانستید از API ترجمه برای ترجمه متنی از انگلیسی به ترکی استفاده کنید. درباره ترجمه متن بیشتر بخوانید.
۷. تشخیص زبان
شما میتوانید از Translate API برای تشخیص زبان یک رشته متنی نیز استفاده کنید.
برای تشخیص زبان، به فایل Program.cs در داخل پوشه TranslationApiDemo بروید و کد زیر را جایگزین کنید:
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}");
}
}
}
یک یا دو دقیقه وقت بگذارید و کد را مطالعه کنید. این کد زبان متن «سلام دنیا!» را که اتفاقاً یک عبارت ترکی است، تشخیص میدهد.
به Cloud Shell برگردید و برنامه را اجرا کنید. باید خروجی زیر را مشاهده کنید:
dotnet run
Language: tr Confidence: 1
خلاصه
در این مرحله، شما توانستید زبان یک متن را با استفاده از Translation API تشخیص دهید. درباره تشخیص زبان بیشتر بخوانید.
۸. تبریک میگویم!
شما یاد گرفتید که چگونه از API ترجمه با استفاده از سی شارپ استفاده کنید!
تمیز کردن
برای جلوگیری از تحمیل هزینه به حساب پلتفرم گوگل کلود خود برای منابع استفاده شده در این راهنمای سریع:
- به کنسول پلتفرم ابری بروید.
- پروژهای را که میخواهید خاموش کنید انتخاب کنید، سپس روی «حذف» در بالا کلیک کنید: این کار پروژه را برای حذف زمانبندی میکند.
اطلاعات بیشتر
- رابط برنامهنویسی کاربردی ترجمه ابری گوگل: https://cloud.google.com/translate/docs
- سی شارپ/.NET روی پلتفرم ابری گوگل: https://cloud.google.com/dotnet/
- کلاینت گوگل کلود داتنت: https://googlecloudplatform.github.io/google-cloud-dotnet/
مجوز
این اثر تحت مجوز عمومی Creative Commons Attribution 2.0 منتشر شده است.