استفاده از Translation API با سی شارپ

۱. مرور کلی

API ترجمه ابری گوگل (Google Cloud Translation API) یک رابط برنامه‌نویسی ساده برای ترجمه پویای یک رشته دلخواه به هر زبان پشتیبانی‌شده با استفاده از ترجمه ماشینی عصبی پیشرفته ارائه می‌دهد. همچنین می‌تواند برای تشخیص زبان در مواردی که زبان مبدا ناشناخته است، مورد استفاده قرار گیرد.

در این آزمایشگاه کد، شما بر استفاده از API ترجمه با سی شارپ تمرکز خواهید کرد. یاد خواهید گرفت که چگونه زبان‌های موجود را فهرست کنید، متن را ترجمه کنید و همچنین زبان یک متن داده شده را تشخیص دهید.

آنچه یاد خواهید گرفت

  • نحوه استفاده از پوسته ابری
  • نحوه فعال کردن API ترجمه
  • نحوه احراز هویت درخواست‌های API
  • نحوه نصب کتابخانه کلاینت گوگل کلود برای سی شارپ
  • نحوه لیست کردن زبان‌های موجود
  • نحوه ترجمه متن
  • نحوه تشخیص زبان

آنچه نیاز دارید

  • یک پروژه پلتفرم ابری گوگل
  • یک مرورگر، مانند کروم یا فایرفاکس
  • آشنایی با استفاده از سی شارپ

نظرسنجی

چگونه از این آموزش استفاده خواهید کرد؟

فقط تا انتها بخوانید آن را بخوانید و تمرین‌ها را انجام دهید

تجربه خود را با C# چگونه ارزیابی می‌کنید؟

تازه کار متوسط ماهر

تجربه خود را در استفاده از خدمات پلتفرم ابری گوگل چگونه ارزیابی می‌کنید؟

تازه کار متوسط ماهر

۲. تنظیمات و الزامات

تنظیم محیط خودتنظیم

  1. وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .

۲۹۵۰۰۴۸۲۱bab6a87.png

37d264871000675d.png

۹۶d86d3d5655cdbe.png

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

شروع پوسته ابری

اگرچه می‌توان از راه دور و از طریق لپ‌تاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا می‌شود، استفاده خواهید کرد.

از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

۸۴۶۸۸aa۲۲۳b۱c۳a۲.png

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

320e18fedb7fbe0.png

این ماشین مجازی با تمام ابزارهای توسعه‌ای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه می‌دهد و روی فضای ابری گوگل اجرا می‌شود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود می‌بخشد. تمام کارهای شما در این آزمایشگاه کد را می‌توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.

۳. فعال کردن 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 باز کنید:

fd3fc1303e63572.png

به فایل 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 ترجمه با استفاده از سی شارپ استفاده کنید!

تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب پلتفرم گوگل کلود خود برای منابع استفاده شده در این راهنمای سریع:

  • به کنسول پلتفرم ابری بروید.
  • پروژه‌ای را که می‌خواهید خاموش کنید انتخاب کنید، سپس روی «حذف» در بالا کلیک کنید: این کار پروژه را برای حذف زمان‌بندی می‌کند.

اطلاعات بیشتر

مجوز

این اثر تحت مجوز عمومی Creative Commons Attribution 2.0 منتشر شده است.