Использование API перевода с C#

1. Обзор

API Google Cloud Translation предоставляет простой программный интерфейс для динамического перевода произвольной строки на любой поддерживаемый язык с использованием передовых нейронных технологий машинного перевода. Он также может использоваться для определения языка в случаях, когда исходный язык неизвестен.

В этом практическом занятии вы сосредоточитесь на использовании API перевода с C#. Вы узнаете, как выводить список доступных языков, переводить текст, а также определять язык заданного текста.

Что вы узнаете

  • Как использовать Cloud Shell
  • Как включить 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

  • Название проекта — это отображаемое имя участников данного проекта. Это строка символов, не используемая API Google. Вы всегда можете его изменить.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (его нельзя изменить после установки). Консоль Cloud автоматически генерирует уникальную строку; обычно вам неважно, какая она. В большинстве практических заданий вам потребуется указать идентификатор вашего проекта (обычно обозначается как PROJECT_ID ). Если сгенерированный идентификатор вас не устраивает, вы можете сгенерировать другой случайный идентификатор. В качестве альтернативы вы можете попробовать свой собственный и посмотреть, доступен ли он. После этого шага его нельзя изменить, и он сохраняется на протяжении всего проекта.
  • К вашему сведению, существует третье значение — номер проекта , которое используется некоторыми API. Подробнее обо всех трех значениях можно узнать в документации .
  1. Далее вам потребуется включить оплату в консоли Cloud для использования ресурсов/API Cloud. Выполнение этого практического задания не потребует больших затрат, если вообще потребует. Чтобы отключить ресурсы и избежать дополнительных расходов после завершения этого урока, вы можете удалить созданные ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на бесплатную пробную версию стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с ноутбука, в этом практическом занятии вы будете использовать Google Cloud Shell — среду командной строки, работающую в облаке.

В консоли Google Cloud нажмите на значок Cloud Shell на панели инструментов в правом верхнем углу:

84688aa223b1c3a2.png

Подготовка и подключение к среде займут всего несколько минут. После завершения вы должны увидеть что-то подобное:

320e18fedb7fbe0.png

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 5 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию. Вся работа в этом практическом задании может выполняться в браузере. Вам не нужно ничего устанавливать.

3. Включите API перевода.

Прежде чем начать использовать API перевода, необходимо его включить. Для этого в Cloud Shell можно использовать следующую команду:

gcloud services enable translate.googleapis.com

4. Установите клиентскую библиотеку Google Cloud Translation API для C#.

Сначала создайте простое консольное приложение на C#, которое вы будете использовать для запуска примеров работы с 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'.

Теперь вы готовы использовать API перевода!

5. Список доступных языков

В этом разделе сначала необходимо перечислить все доступные языки в 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

Краткое содержание

На этом шаге вы смогли получить список всех доступных языков в API перевода. Полный список поддерживаемых языков вы найдете на странице «Поддержка языков» .

6. Переведите текст

Вы можете использовать API Translate для перевода текста с одного языка на другой. Перевод текста осуществляется с помощью модели нейронного машинного перевода (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!

Краткое содержание

На этом этапе вы смогли использовать API перевода для перевода текста с английского на турецкий. Подробнее о переводе текста читайте здесь.

7. Определение языка

Вы также можете использовать API Translate для определения языка текстовой строки.

Для определения языка перейдите к файлу 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

Краткое содержание

На этом этапе вы смогли определить язык текста с помощью API перевода. Подробнее об определении языка читайте здесь.

8. Поздравляем!

Вы научились использовать API перевода на языке C#!

Уборка

Чтобы избежать списания средств с вашего счета Google Cloud Platform за ресурсы, использованные в этом кратком руководстве:

  • Перейдите в консоль облачной платформы .
  • Выберите проект, который хотите закрыть, затем нажмите кнопку «Удалить» вверху: это запланирует удаление проекта.

Узнать больше

Лицензия

Данная работа распространяется под лицензией Creative Commons Attribution 2.0 Generic.