Руководство по использованию Google Translate API
Categories:
Если вам нужно автоматизировать работу с переводами с помощью API, Google Translate API — это отличный выбор. Хотя качество перевода может быть немного ниже, чем у DeepL, оно предлагает лучшее соотношение цены и качества, особенно с бесплатным лимитом в 500 тысяч символов каждый месяц.
Описание продукта
Google Translate все знают, здесь мы представляем его сервис API, полное название — Google Cloud Translation. С помощью API можно реализовать массовый перевод, настройку пользовательских моделей перевода, перевод документов и другие функции.

Цены
Бесплатный лимит 500 тысяч символов в месяц, сверх лимита оплата по количеству символов.

Различия между базовой и расширенной версиями
| Функция | Базовая версия | Расширенная версия |
|---|---|---|
| Бесплатный лимит | 500 тыс. символов/месяц | 500 тыс. символов/месяц |
| За миллион символов | 20 долларов | 80 долларов |
| Перевод документов | 0.08/страница | 0.25/страница |
| Пользовательский перевод | ✘ | ✔ |
Начало использования

- Включение API. Если функция оплаты не включена, здесь появится сообщение о необходимости добавления учетной записи оплаты. Требуется кредитная карта с иностранной валютой


$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
- Пробный запуск
$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

Использование команды curl в Linux
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"
На этом этапе вы уже можете использовать Google Translate API для массового перевода.
Ссылки на использование
- Перевод веб-сайтов или приложений
- Обучение пользовательских моделей перевода
- Добавление субтитров на разных языках к видео
- Дублирование видео на разных языках
- Перевод документов с форматированием
- Реализация перевода контента клиентского взаимодействия в реальном времени
Дополнительное чтение
- Вход в документацию Cloud Translation
- Аутентификация для Cloud Translation
- Аутентификация с использованием ключей API
- Идентификация исходного и целевого языков с использованием кодов ISO-639
- Обзор пользовательских переводов
Послесловие
Официальная документация Google Translate длинная, реализация одной и той же функции имеет несколько различных способов, на этапах аутентификации и вызова существует множество путей реализации. В этой статье выбран наиболее рекомендуемый и простой способ использования для обычных пользователей, в качестве справки.
- Среди типов аутентификации выбрана локальная аутентификация (gcloud CLI)
- Среди способов использования выбран REST API (Curl/Invoke-WebRequest)
- Среди базовой и расширенной версий выбрана расширенная версия
Это оригинальная статья, опубликованная на blog.jqknono.dev, запрещено копирование без разрешения
