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

1. Przegląd

Google Cloud Translation API to prosty interfejs programowy, który umożliwia dynamiczne tłumaczenie dowolnego ciągu znaków na dowolny obsługiwany język za pomocą 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 laboratorium skupisz się na korzystaniu z interfejsu Translation API w języku C#. Dowiesz się, jak wyświetlić listę dostępnych języków, przetłumaczyć tekst i wykryć język, w którym napisano dany tekst.

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 korzystać z tego samouczka?

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 ani Google Workspace, musisz je utworzyć.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Nazwa projektu to wyświetlana nazwa 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ę tym 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 też 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.

Uruchamianie Cloud Shell

Z Google Cloud można korzystać zdalnie na laptopie, ale w tym module praktycznym będziesz używać 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, użyj w Cloud Shell tego polecenia:

gcloud services enable translate.googleapis.com

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

Najpierw utwórz prostą aplikację konsolową w 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 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'.

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ęć chwilę na zapoznanie się z kodem*. 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 za pomocą modelu neuronowego tłumaczenia maszynowego (NMT). Jeśli model NMT nie jest obsługiwany w przypadku wybranej 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!

Dowiedziałeś(-aś) się, jak korzystać z interfejsu Translation API w 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 następnie 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.