Tutorial de uso de la API de Google Translate

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.

Introducción al producto

Precios

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

Gráfico de precios

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

Crear o seleccionar proyecto

  • 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

Habilitar

Habilitar 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
  • 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

Ejecución exitosa

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

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