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
Ankieta
Jak zamierzasz korzystać z tego samouczka?
Jak oceniasz swoje doświadczenie z językiem C#?
Jak oceniasz korzystanie z usług Google Cloud Platform?
2. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
- 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ć.



- 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.
- 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:

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:

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:

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
- Google Cloud Translation API: https://cloud.google.com/translate/docs
- C#/.NET na Google Cloud Platform: https://cloud.google.com/dotnet/
- Klient Google Cloud .NET: https://googlecloudplatform.github.io/google-cloud-dotnet/
Licencja
To zadanie jest licencjonowane na podstawie ogólnej licencji Creative Commons Attribution 2.0.