Tutorial de uso de la API de Google Translate
Categories:
Si necesitas usar la API para automatizar trabajos de traducción, la API de Google Translate es una buena opción. Su calidad de traducción puede ser ligeramente inferior a la de DeepL, pero ofrece una mejor relación calidad-precio, especialmente con una cuota gratuita de 500 mil caracteres al mes.
Introducción al producto
Todos conocemos Google Translate, aquí presentamos su servicio API, cuyo nombre completo es Google Cloud Translation. A través de la API, puedes realizar traducciones masivas, crear modelos de traducción personalizados y traducir documentos.

Precios
Cuota gratuita de 500 mil caracteres al mes, excedentes facturados por carácter.

Diferencias entre versión básica y versión avanzada
| Función | Versión básica | Versión avanzada |
|---|---|---|
| Cuota gratis | 500 mil caracteres/mes | 500 mil caracteres/mes |
| Por millón de caracteres | 20 dólares | 80 dólares |
| Traducción de documentos | 0.08/página | 0.25/página |
| Traducción personalizada | ✘ | ✔ |
Comenzar a usar

- Habilitar la API, si no se ha habilitado la facturación, aquí aparecerá un mensaje para añadir una cuenta de facturación, se requiere tarjeta de crédito extranjera


$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
- Prueba
$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

Linux usando curl
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"
Hasta aquí, ya puedes usar la API de Google Translate para traducir lotes.
Referencia de usos
- Traducir sitios web o aplicaciones
- Entrenar modelos de traducción personalizados
- Añadir subtítulos en diferentes idiomas a videos
- Crear doblajes en diferentes idiomas para videos
- Traducir documentos con formato
- Traducir contenido interactivo de clientes en tiempo real
Lecturas extendidas
- Entrada de documentación de Cloud Translation
- Autenticarse en Cloud Translation
- Autenticarse usando claves API
- Los idiomas origen y destino se identifican con códigos ISO-639
- Resumen de traducción personalizada
Postdata
La documentación oficial de Google Translate es larga, implementar la misma función tiene múltiples formas diferentes, en los pasos de autenticación y llamada hay múltiples vías para lograrlo, este artículo solo selecciona la forma más recomendada y sencilla para usuarios comunes, para su referencia.
- Entre los tipos de autenticación se eligió autenticación local (gcloud CLI)
- Entre las formas de uso se eligió REST API (Curl/Invoke-WebRequest)
- Entre la versión básica y avanzada se eligió la versión avanzada
Este es un artículo original publicado en blog.jqknono.dev, no se permite su reproducción sin permiso
