Samouczek użytkowania Google Translate API
Categories:
Jeśli musisz automatyzować tłumaczenie za pomocą API, Google Translate API jest dobrym wyborem. Jakość tłumaczenia może być nieco gorsza niż DeepL, ale ma lepszy stosunek jakości do ceny, zwłaszcza że co miesiąc masz 500 tys. znaków za darmo.
Prezentacja produktu
Google Translate wszyscy znają, tutaj prezentujemy usługę API, pełna nazwa to Google Cloud Translation. Dzięki API można przeprowadzić tłumaczenie zbiorcze, dostosować model tłumaczenia i tłumaczyć dokumenty.

Ceny
Co miesiąc 500 tys. znaków za darmo, po przekroczeniu limitu opłaty są naliczane według liczby znaków.

Różnica między wersją Basic a Advanced
| Funkcja | Wersja Basic | Wersja Advanced |
|---|---|---|
| Limit darmowy | 500 tys. znaków/miesiąc | 500 tys. znaków/miesiąc |
| Na milion znaków | 20 dolarów | 80 dolarów |
| Tłumaczenie dokumentów | 0,08 strony | 0,25 strony |
| Tłumaczenie niestandardowe | ✘ | ✔ |
Rozpoczęcie pracy

- Włącz API, jeśli nie włączono rozliczeń, tutaj pojawi się komunikat o dodaniu konta rozliczeniowego, potrzebna karta kredytowa zagraniczna


$cred = gcloud auth print-access-token
$project_id = "example"
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects/${project_id}" | Select-Object -Expand Content
- Próbny test
$cred = gcloud auth print-access-token
$project_id = "example"
$body = @{
"sourceLanguageCode" = "en"
"targetLanguageCode" = "zh"
"contents" = @("Hello, world!")
"mimeType" = "text/plain"
}
$body = $body | ConvertTo-Json
$headers = @{
"Authorization" = "Bearer $cred"
"Content-Type" = "application/json; charset=utf-8"
"x-goog-user-project" = $project_id
}
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3/projects/${project_id}:translateText" `
-Body $body | Select-Object -Expand Content

Użyj polecenia curl na Linuxie
export CRED=$(gcloud auth print-access-token)
export PROJECT_ID="example"
export SOURCE_LANGUAGE_CODE="en"
export TARGET_LANGUAGE_CODE="zh"
export CONTENTS="Hello, world!"
export MIME_TYPE="text/plain"
curl -X POST -H "Authorization: Bearer $CRED" -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: $PROJECT_ID" -d "{
\"sourceLanguageCode\": \"$SOURCE_LANGUAGE_CODE\",
\"targetLanguageCode\": \"$TARGET_LANGUAGE_CODE\",
\"contents\": [\"$CONTENTS\"],
\"mimeType\": \"$MIME_TYPE\"
}" "https://translation.googleapis.com/v3/projects/$PROJECT_ID:translateText"
Do tego momentu możesz użyć Google Translate API do tłumaczenia zbiorczego.
Przykłady zastosowania
- Tłumaczenie witryny lub aplikacji
- Trenowanie niestandardowego modelu tłumaczenia
- Dodawanie napisów w różnych językach do filmów
- Odtwarzanie dźwięku w różnych językach dla filmów
- Tłumaczenie sformatowanych dokumentów
- Tłumaczenie w czasie rzeczywistym treści interakcji z klientami
Czytanie dalsze
- Strona wejściowa dokumentacji Cloud Translation
- Uwierzytelnianie w Cloud Translation
- Uwierzytelnianie za pomocą kluczy API
- Identyfikatory języka źródłowego i docelowego używają kodów ISO-639
- Omówienie tłumaczenia niestandardowego
Dodatek
Oficjalna dokumentacja Google Translate jest długa, realizacja tej samej funkcji ma wiele różnych sposobów, w krokach uwierzytelniania i wywoływania istnieje wiele sposobów realizacji, ten artykuł wybiera tylko sposób najbardziej zalecany i najprostszy dla zwykłych użytkowników, w celu odniesienia.
- Spośród rodzajów uwierzytelniania wybrano uwierzytelnianie lokalne (gcloud CLI)
- Spośród sposobów użytkowania wybrano REST API (Curl/Invoke-WebRequest)
- Spośród wersji Basic i Advanced wybrano Advanced
To jest oryginalny artykuł opublikowany na blog.jqknono.dev, bez zgody nie wolno go powielać
