將 Translation API 與 C# 搭配使用

1. 總覽

Google Cloud Translation API 提供簡單的程式介面,可使用最先進的神經機器翻譯技術,將任意字串動態翻譯成任何支援的語言。在原文語言不明的情況下,此功能也能用於偵測語言。

在本程式碼研究室中,您將專注於搭配 C# 來使用 Translation API。您將瞭解如何列出可用語言、翻譯文字,以及偵測指定文字的語言。

課程內容

  • 如何使用 Cloud Shell
  • 如何啟用 Translation API
  • 如何驗證 API 要求
  • 如何安裝 C# 適用的 Google Cloud 用戶端程式庫
  • 如何列出支援的語言
  • 如何翻譯文字
  • 如何偵測語言

軟硬體需求

  • Google Cloud Platform 專案
  • 瀏覽器,例如 ChromeFirefox
  • 熟悉使用 C#

問卷調查

您會如何使用這個教學課程?

僅供閱讀 閱讀並完成練習

針對 C# 的使用體驗,您會給予什麼評價?

新手 中級 還算容易

根據您使用 Google Cloud Platform 服務的經驗,您會給予什麼評價?

新手 中級 還算容易

2. 設定和需求

自修環境設定

  1. 登入 Google Cloud 控制台,建立新專案或重複使用現有專案。如果您還沒有 Gmail 或 Google Workspace 帳戶,請先建立帳戶

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • 「專案名稱」是這項專案參與者的顯示名稱。這是 Google API 未使用的字元字串。您可以隨時更新付款方式。
  • 所有 Google Cloud 專案的專案 ID 均不得重複,而且設定後即無法變更。Cloud 控制台會自動產生一個不重複的字串。但通常是在乎它何在在大部分的程式碼研究室中,您必須參照專案 ID (通常為 PROJECT_ID)。如果您對產生的 ID 不滿意,可以隨機產生一個 ID。或者,您也可以自行嘗試,看看是否支援。在這個步驟後,這個名稱即無法變更,而且在專案期間內仍會保持有效。
  • 資訊中的第三個值是專案編號,部分 API 會使用這個編號。如要進一步瞭解這三個值,請參閱說明文件
  1. 接下來,您需要在 Cloud 控制台中啟用計費功能,才能使用 Cloud 資源/API。執行本程式碼研究室不會產生任何費用 (如果有的話)。如要關閉資源,以免產生本教學課程結束後產生的費用,您可以刪除自己建立的資源或刪除專案。新使用者符合 $300 美元免費試用計畫的資格。

啟動 Cloud Shell

雖然 Google Cloud 可以從筆記型電腦遠端操作,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是一種在 Cloud 中執行的指令列環境。

Google Cloud 控制台,按一下右上方的工具列上的 Cloud Shell 圖示:

84688aa223b1c3a2.png

佈建並連線至環境的作業只需幾分鐘的時間。完成後,您應該會看到類似下方的內容:

320e18fedb7fbe0.png

這部虛擬機器都裝載了您需要的所有開發工具。提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作,大幅提高網路效能和驗證能力。本程式碼研究室的所有工作都可以在瀏覽器中完成。不必安裝任何程式。

3. 啟用 Translation API

您必須先啟用 API,才能開始使用 Translation API。您可以在 Cloud Shell 中使用下列指令啟用 API:

gcloud services enable translate.googleapis.com

4. 安裝 C# 適用的 Google Cloud Translation API 用戶端程式庫

首先,請建立簡單的 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

前往 TranslationApiDemo 資料夾中的 Program.cs 檔案,然後將程式碼替換為以下程式碼:

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) 模型。

如要翻譯文字,請前往 TranslationApiDemo 資料夾中的 Program.cs 檔案,然後將程式碼替換成以下內容:

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 來偵測文字字串的語言。

如要偵測語言,請前往 TranslationApiDemo 資料夾中的 Program.cs 檔案,然後將程式碼替換為以下程式碼:

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. 恭喜!

您已學會如何透過 C# 使用 Translation API!

清除所用資源

如何避免系統向您的 Google Cloud Platform 帳戶收取您在本快速入門導覽課程中所用資源的相關費用:

  • 前往 Cloud Platform 主控台
  • 選取您要關閉的專案,然後按一下「刪除」會安排將專案刪除。

瞭解詳情

授權

這項內容採用的是創用 CC 姓名標示 2.0 通用授權。