שימוש ב-Translate API עם C#

1. סקירה כללית

Google Cloud Translation API מספק ממשק פרוגרמטי פשוט לתרגום דינמי של מחרוזת שרירותית לכל שפה נתמכת, באמצעות תרגום מכונה נוירונים מתקדם. הוא יכול גם לשמש לזיהוי שפה במקרים שבהם שפת המקור לא ידועה.

ב-Codelab הזה אתם תתמקדו בשימוש ב-Translation API עם C#. תלמדו איך לציין את השפות הזמינות, לתרגם טקסט ולזהות את השפה של טקסט נתון.

מה תלמדו

  • איך משתמשים ב-Cloud Shell
  • איך מפעילים את Translation API
  • איך לאמת בקשות API
  • איך מתקינים את ספריית הלקוח של Google Cloud ל-C#
  • איך מציגים את רשימת השפות הזמינות
  • כיצד לתרגם טקסט
  • איך לזהות שפה

מה צריך להכין

  • פרויקט ב-Google Cloud Platform
  • דפדפן, למשל Chrome או Firefox
  • היכרות עם C#

סקר

איך תשתמשו במדריך הזה?

לקריאה בלבד לקרוא אותו ולבצע את התרגילים

איזה דירוג מגיע לחוויה שלך עם C#?

מתחילים בינונית בקיאים

איזה דירוג מגיע לדעתך לחוויית השימוש בשירותי Google Cloud Platform?

מתחילים בינונית בקיאים

2. הגדרה ודרישות

הגדרת סביבה בקצב עצמאי

  1. נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או עושים שימוש חוזר בפרויקט קיים. אם אין לכם עדיין חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Project name הוא השם המוצג של המשתתפים בפרויקט. זו מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן.
  • Project ID הוא ייחודי בכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו (אי אפשר לשנות אותו אחרי שמגדירים אותו). מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי; בדרך כלל לא מעניין אותך מה זה. ברוב ה-codelabs תצטרכו להפנות למזהה הפרויקט שלכם (בדרך כלל מזוהה כ-PROJECT_ID). אם המזהה שנוצר לא מוצא חן בעיניכם, אתם יכולים ליצור ��זהה ��קראי אחר. לחלופין, אפשר לנסות שם משלך ולראות אם הוא זמין. לא ניתן לשנות אותו אחרי השלב הזה, והוא נשאר למשך הפרויקט.
  • לידיעתך, יש ערך שלישי, Project Number, שבו משתמשים בחלק מממשקי ה-API. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.
  1. בשלב הבא צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים או בממשקי API של Cloud. מעבר ב-Codelab הזה לא יעלה הרבה כסף, אם בכלל. כדי להשבית משאבים ולא לצבור חיובים מעבר למדריך הזה, אתם יכולים למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים להשתתף בתוכנית תקופת ניסיון בחינם בשווי 1,200 ש"ח.

הפעלת Cloud Shell

אומנם אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-Codelab הזה משתמשים ב-Google Cloud Shell, סביבת שורת הפקודה שפועלת ב-Cloud.

במסוף Google Cloud, לוחצים על הסמל של Cloud Shell בסרגל הכלים שבפינה השמאלית העליונה:

84688a223b1c3a2.png

נדרשים רק כמה דקות כדי להקצות את הסביבה ולהתחבר אליה. בסיום התהליך, אתם אמורים לראות משהו כזה:

320e18ifiedb7fbe0.png

למכונה הווירטואלית הזו נטען כל כלי הפיתוח הדרושים. יש בה ספריית בית בנפח מת��יד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר משמעותית את ביצועי הרשת והאימות. כל העבודה ב-Codelab הזה יכולה להתבצע בתוך דפדפן. אתה לא צריך להתקין שום דבר.

3. הפעלת Translation API

לפני שמתחילים להשתמש ב-Translation API, צריך להפעיל את ה-API. כדי להפעיל את ה-API תוכלו להשתמש בפקודה הבאה ב-Cloud Shell:

gcloud services enable translate.googleapis.com

4. התקנה של ספריית הלקוח של 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'.

עכשיו אתה מוכן להשתמש ב-Translation API!

5. רשימת השפות הזמינות

בקטע ה��ה תוצג קודם רשימה של כל השפות הזמינות ב-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. הרשימה המלאה של השפות הנתמכות זמינה בדף שפות תמיכה.

6. תרגום טקסט

אתם יכולים להשתמש ב-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!

סיכום

בשלב הזה הייתה לך אפשרות להשתמש ב-Translation API כדי לתרגם טקסט מאנגלית לטורקית. קוראים מידע נוסף על תרגום טקסט.

7. זיהוי שפה אוטומטי

אפשר להשתמש ב-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}");
        }
    }
}

הקדישו דקה או שתיים כדי ללמוד את הקוד. הוא מזהה את השפה שבה כתוב הטקסט "סלאם Dünya!" במקרה שזה ביטוי בטורקית*.*

בחזרה ב-Cloud Shell, מריצים את האפליקציה. הפלט הבא אמור להתקבל:

dotnet run

Language: tr        Confidence: 1

סיכום

בשלב הזה הצלחתם לזהות את השפה של קטע טקסט באמצעות Translation API. מידע נוסף על זיהוי שפה

8. מעולה!

למדת איך להשתמש ב-Translate API בעזרת C#!

הסרת המשאבים

כדי להימנע מצבירת חיובים בחשבון Google Cloud Platform על המשאבים שבהם השתמשתם במדריך למתחילים הזה:

  • עוברים אל Cloud Platform Console.
  • בוחרים את הפרויקט שרוצים להשבית ולוחצים על Delete (מחיקה). למעלה: מתזמנת את מחיקת הפרויקט.

מידע נוסף

רישיון

היצירה הזו בשימוש ברישיון Creative Commons Attribution 2.0 גנרי.