Używanie interfejsu Translation API w języku C#

1. Przegląd

Interfejs Google Cloud Translation API zapewnia prosty interfejs programowy do dynamicznego tłumaczenia dowolnego ciągu znaków na dowolny obsługiwany język przy użyciu najnowocześniejszego neuronowego tłumaczenia maszynowego. Może też służyć do wykrywania języka w przypadkach, gdy język źródłowy jest nieznany.

W tym ćwiczeniu skupisz się na korzystaniu z interfejsu Translation API z użyciem języka C#. Dowiesz się, jak wyświetlać listę dostępnych języków, tłumaczyć tekst i wykrywać język danego tekstu.

Czego się nauczysz

  • Jak korzystać z Cloud Shell
  • Jak włączyć interfejs Translation API
  • Uwierzytelnianie żądań do interfejsu API
  • Instalowanie biblioteki klienta Google Cloud dla C#
  • Jak wyświetlić listę dostępnych języków
  • Jak tłumaczyć tekst
  • Jak wykrywać język

Czego potrzebujesz

  • Projekt Google Cloud Platform
  • przeglądarka, np. Chrome lub Firefox;
  • znajomość języka C#,

Ankieta

Jak zamierzasz wykorzystać ten samouczek?

Tylko przeczytaj Przeczytaj i wykonaj ćwiczenia

Jak oceniasz swoje doświadczenie z językiem C#?

Początkujący Średnio zaawansowany Zaawansowany

Jak oceniasz korzystanie z usług Google Cloud Platform?

Początkujący Średnio zaawansowany Zaawansowany

2. Konfiguracja i wymagania

Samodzielne konfigurowanie środowiska

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail lub Google Workspace, musisz je utworzyć.

295004821bab6a87.png37d264871000675d.png96d86d3d5655cdbe.png

  • Nazwa projektu to wyświetlana nazwa dla uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje jeszcze trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Uruchom Cloud Shell

Z Google Cloud można korzystać zdalnie na laptopie, ale w tym ćwiczeniu użyjesz Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

W konsoli Google Cloud kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

84688aa223b1c3a2.png

Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:

320e18fedb7fbe0.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym laboratorium możesz wykonać w przeglądarce. Nie musisz niczego instalować.

3. Włączanie interfejsu Translation API

Zanim zaczniesz korzystać z interfejsu Translation API, musisz go włączyć. Aby włączyć interfejs API, w Cloud Shell użyj tego polecenia:

gcloud services enable translate.googleapis.com

4. Instalowanie biblioteki klienta interfejsu Google Cloud Translation API dla języka C#

Najpierw utwórz prostą aplikację konsolową w języku C#, której będziesz używać do uruchamiania przykładów interfejsu Translation API.

dotnet new console -n TranslationApiDemo

The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.

Następnie otwórz folder TranslationApiDemo i dodaj do projektu pakiet NuGetGoogle.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'.

Możesz teraz używać interfejsu Translation API.

5. Lista dostępnych języków

W tej sekcji najpierw wyświetlisz listę wszystkich języków dostępnych w interfejsie Translation API.

Najpierw otwórz edytor kodu w prawym górnym rogu Cloud Shell:

fd3fc1303e63572.png

Otwórz plik Program.cs w folderze TranslationApiDemo i zastąp kod tym kodem:

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

Poświęć minutę lub dwie na zapoznanie się z kodem*. Pamiętaj, że nazwy języków podajemy w języku angielskim, ale mogą one być podane w dowolnym języku.

Wróć do Cloud Shell i uruchom aplikację. Powinny wyświetlić się te dane wyjściowe:

dotnet run

af        Afrikaans
sq        Albanian
am        Amharic
ar        Arabic
hy        Armenian
az        Azerbaijani
eu        Basque
be        Belarusian
...
yi        Yiddish
yo        Yoruba
zu        Zulu

Podsumowanie

W tym kroku udało Ci się wyświetlić listę wszystkich języków dostępnych w interfejsie Translation API. Pełną listę obsługiwanych języków znajdziesz na stronie Obsługa języków.

6. Tłumaczenie tekstu

Za pomocą interfejsu Translate API możesz przetłumaczyć tekst z jednego języka na inny. Tekst jest tłumaczony przy użyciu modelu neuronowego tłumaczenia maszynowego (NMT). Jeśli model NMT nie jest obsługiwany w przypadku żądanej pary języków, używany jest model tłumaczenia maszynowego opartego na frazach (PBMT).

Aby przetłumaczyć tekst, otwórz plik Program.cs w folderze TranslationApiDemo i zastąp kod tym kodem:

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

Poświęć minutę lub dwie na zapoznanie się z kodem. Tłumaczy tekst „Hello World” z języka angielskiego na turecki*.

Wróć do Cloud Shell i uruchom aplikację. Powinny wyświetlić się te dane wyjściowe:

dotnet run

Selam Dünya!

Podsumowanie

W tym kroku udało Ci się użyć interfejsu Translation API do przetłumaczenia tekstu z języka angielskiego na turecki. Więcej informacji o tłumaczeniu tekstu

7. Wykryj język

Za pomocą interfejsu Translate API możesz też wykrywać język ciągu tekstowego.

Aby wykryć język, otwórz plik Program.cs w folderze TranslationApiDemo i zastąp kod tym kodem:

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

Poświęć minutę lub dwie na zapoznanie się z kodem. Wykrywa język tekstu „Selam Dünya!”, który jest zwrotem w języku tureckim*.

Wróć do Cloud Shell i uruchom aplikację. Powinny wyświetlić się te dane wyjściowe:

dotnet run

Language: tr        Confidence: 1

Podsumowanie

W tym kroku udało Ci się wykryć język fragmentu tekstu za pomocą interfejsu Translation API. Dowiedz się więcej o wykrywaniu języka.

8. Gratulacje!

Wiesz już, jak korzystać z interfejsu Translation API w języku C#.

Czyszczenie danych

Oto kroki, które musisz wykonać, aby uniknąć obciążenia konta Google Cloud Platform opłatami za zasoby zużyte podczas krótkiego wprowadzenia:

  • Otwórz konsolę Cloud Platform.
  • Wybierz projekt, który chcesz zamknąć, a potem kliknij „Usuń” u góry. Spowoduje to zaplanowanie usunięcia projektu.

Więcej informacji

Licencja

To zadanie jest licencjonowane na podstawie ogólnej licencji Creative Commons Attribution 2.0.