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

1. ภาพรวม

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

ใน 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 ของ Cloud การทำตาม Codelab นี้จะไม่มีค่าใช้จ่ายมากนัก หรืออาจไม่มีค่าใช้จ่ายเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

เริ่มต้น Cloud Shell

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

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

84688aa223b1c3a2.png

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

320e18fedb7fbe0.png

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

3. เปิดใช้ Translation API

คุณต้องเปิดใช้ Translation 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}");
        }
    }
}

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

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

dotnet run

Language: tr        Confidence: 1

สรุป

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

8. ยินดีด้วย

คุณได้เรียนรู้วิธีใช้ Translation API โดยใช้ C# แล้ว

ล้างข้อมูล

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

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

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

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 2.0 แบบทั่วไป