将 Translation API 与 C# 搭配使用

1. 概览

Google Cloud Translation API 提供简单的程序接口,可使用最新的神经机器翻译技术将任意字符串动态翻译成任何受支持的语言。如果源语言未知,还可以用来检测语言。

在此 Codelab 中,您将着重学习如何通过 C# 使用 Translation API。您将学习如何列出可用语言、翻译文本以及检测给定文本的语言。

学习内容

  • 如何使用 Cloud Shell
  • 如何启用 Translation API
  • 如何对 API 请求进行身份验证
  • 如何安装适用于 C# 的 Google Cloud 客户端库
  • 如何列出可用语言
  • 如何翻译文字
  • 如何检测语言

所需条件

  • 一个 Google Cloud Platform 项目
  • 一个浏览器,例如 ChromeFirefox
  • 熟悉 C# 的使用方法

调查问卷

您将如何使用本教程?

仅阅读教程内容 阅读并完成练习

您如何评价自己使用 C# 的体验?

新手水平 中等水平 熟练水平

您如何评价自己在使用 Google Cloud Platform 服务方面的经验水平?

<ph type="x-smartling-placeholder"></ph> 新手 中级 熟练

2. 设置和要求

自定进度的环境设置

  1. 登录 Google Cloud 控制台,然后创建一个新项目或重复使用现有项目。如果您还没有 Gmail 或 Google Workspace 账号,则必须创建一个

295004821bab6a87

37d264871000675d

96d86d3d5655cdbe.png

  • 项目名称是此项目参与者的显示名称。它是 Google API 尚未使用的字符串。您可以随时对其进行更新。
  • 项目 ID 在所有 Google Cloud 项目中是唯一的,并且是不可变的(一经设置便无法更改)。Cloud 控制台会自动生成一个唯一字符串;通常情况下,您无需关注该字符串。在大多数 Codelab 中,您都需要引用项目 ID(通常用 PROJECT_ID 标识)。如果您不喜欢生成的 ID,可以再随机生成一个 ID。或者,您也可以尝试自己的项目 ID,看看是否可用。完成此步骤后便无法更改该 ID,并且此 ID 在项目期间会一直保留。
  • 此外,还有第三个值,即部分 API 使用的项目编号,供您参考。如需详细了解所有这三个值,请参阅文档
  1. 接下来,您需要在 Cloud 控制台中启用结算功能,以便使用 Cloud 资源/API。运行此 Codelab 应该不会产生太多的费用(如果有的话)。若要关闭资源以避免产生超出本教程范围的结算费用,您可以删除自己创建的资源或删除项目。Google Cloud 新用户符合参与 300 美元免费试用计划的条件。

启动 Cloud Shell

虽然可以通过笔记本电脑对 Google Cloud 进行远程操作,但在此 Codelab 中,您将使用 Google Cloud Shell,这是一个在云端运行的命令行环境。

Google Cloud 控制台 中,点击右上角工具栏中的 Cloud Shell 图标:

84688aa223b1c3a2

预配和连接到环境应该只需要片刻时间。完成后,您应该会看到如下内容:

320e18fedb7fbe0

这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 5 GB 主目录,并且在 Google Cloud 中运行,大大增强了网络性能和身份验证功能。您在此 Codelab 中的所有工作都可以在浏览器中完成。您无需安装任何程序。

3. 启用 Translation API

您必须先启用 Translation API,然后才能开始使用该 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 Console
  • 选择要关停的项目,然后点击“删除”顶部:这会安排删除项目。

了解详情

许可

此作品已获得 Creative Commons Attribution 2.0 通用许可授权。