การใช้ API การแปลกับ C#

1. ภาพรวม

Google Cloud Translation API มีอินเทอร์เฟซแบบเป็นโปรแกรมที่ใช้งานง่ายสำหรับการแปลสตริงที่กำหนดเองเป็นภาษาใดก็ได้ที่รองรับแบบไดนามิก โดยใช้การแปลด้วยระบบนิวรัลของคอมพิวเตอร์ที่ล้ำสมัย นอกจากนี้ยังใช้ตรวจหาภาษาในกรณีที่ไม่รู้จักภาษาต้นฉบับได้ด้วย

ใน Codelab นี้ คุณจะมุ่งเน้นที่การใช้ Translation API กับ C# คุณจะได้เรียนรู้วิธีแสดงรายการภาษาที่พร้อมใช้งาน แปลข้อความ และตรวจหาภาษาของข้อความที่ระบุ

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้ Cloud Shell
  • วิธีเปิดใช้ Translation API
  • วิธีตรวจสอบสิทธิ์คำขอ API
  • วิธีติดตั้งไลบรารีของไคลเอ็นต์ Google Cloud สำหรับ C#
  • วิธีแสดงภาษาที่พร้อมใช้งาน
  • How to translate text
  • วิธีตรวจหาภาษา

สิ่งที่คุณต้องมี

  • โปรเจ็กต์ Google Cloud Platform
  • เบราว์เซอร์ เช่น Chrome หรือ Firefox
  • ความคุ้นเคยกับการใช้ C#

แบบสำรวจ

คุณจะใช้บทแนะนำนี้อย่างไร

อ่านเท่านั้น อ่านและทำแบบฝึกหัด

คุณจะให้คะแนนความพึงพอใจสำหรับประสบการณ์การใช้งาน C# อย่างไร

มือใหม่ ระดับกลาง ผู้ชำนาญ

คุณจะให้คะแนนความพึงพอใจสำหรับประสบการณ์การใช้บริการ Google Cloud Platform อย่างไร

มือใหม่ ระดับกลาง ผู้ชำนาญ

2. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมตามเวลาที่สะดวก

  1. ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • ชื่อโครงการคือชื่อที่แสดงของผู้เข้าร่วมโปรเจ็กต์นี้ เป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตวิธีการชำระเงินได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะไม่ซ้ำกันในทุกโปรเจ็กต์ของ Google Cloud และจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ปกติแล้วคุณไม่สนว่าอะไรเป็นอะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น PROJECT_ID) หากคุณไม่ชอบรหัสที่สร้างขึ้น คุณสามารถสร้างรหัสแบบสุ่มอื่นได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้ใช้งานหรือไม่ คุณจะเปลี่ยนแปลงหลังจากขั้นตอนนี้ไม่ได้และจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • สำหรับข้อมูลของคุณ ค่าที่ 3 คือหมายเลขโปรเจ็กต์ ซึ่ง API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 ค่าได้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของระบบคลาวด์ การใช้งาน Codelab นี้จะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินที่นอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่คุณสร้างหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud ใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรี$300 USD

เริ่มต้น Cloud Shell

แม้ว่าคุณจะดำเนินการ Google Cloud จากระยะไกลได้จากแล็ปท็อป แต่คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมแบบบรรทัดคำสั่งที่ทำงานในระบบคลาวด์ใน Codelab นี้

จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน ดังนี้

84688aa223b1c3a2.png

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมนี้ควรใช้เวลาเพียงครู่เดียว เมื่อเสร็จแล้ว คุณจะเห็นข้อมูลต่อไปนี้

320e18fedb7fbe0.png

เครื่องเสมือนนี้เต็มไปด้วยเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักขนาด 5 GB ที่ใช้งานได้ต่อเนื่องและทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพของเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก งานทั้งหมดใน Codelab นี้ทำได้ในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไรเลย

3. เปิดใช้ Translation API

ก่อนที่คุณจะเริ่มใช้ 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 แล้วเพิ่มแพ็กเกจ NuGet Google.Cloud.Translation.V2 ลงในโปรเจ็กต์

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);
        }
    }
}

ใช้เวลา 1-2 นาทีเพื่อศึกษาโค้ด ระบบจะแปลข้อความ "สวัสดีชาวโลก" จากภาษาอังกฤษเป็นภาษาตุรกี**

กลับไปที่ 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}");
        }
    }
}

ใช้เวลา 1-2 นาทีเพื่อศึกษาโค้ด ระบบจะตรวจจับภาษาของข้อความ "Selam Dünya!" ซึ่งจะเป็นวลีภาษาตุรกี**

กลับไปที่ Cloud Shell แล้วเรียกใช้แอป คุณควรจะเห็นผลลัพธ์ต่อไปนี้

dotnet run

Language: tr        Confidence: 1

สรุป

ในขั้นตอนนี้ คุณสามารถตรวจจับภาษาของข้อความโดยใช้ Translation API อ่านเพิ่มเติมเกี่ยวกับการตรวจหาภาษา

8. ยินดีด้วย

คุณได้เรียนรู้วิธีใช้ API การแปลด้วย C#!

ล้างข้อมูล

เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud Platform สำหรับทรัพยากรที่ใช้ในการเริ่มต้นอย่างรวดเร็วนี้ ควรทำดังนี้

  • ไปที่คอนโซล Cloud Platform
  • เลือกโครงการที่คุณต้องการปิดการทำงาน แล้วคลิก "ลบ" ที่ด้านบน: การดำเนินการนี้จะกำหนดเวลาการลบโปรเจ็กต์

ดูข้อมูลเพิ่มเติม

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตทั่วไปครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 2.0