Tutorial sull'uso dell'API di Google Translate

Se hai bisogno di automatizzare il lavoro di traduzione utilizzando un’API, l’API di Google Translate è una scelta eccellente. Rispetto a DeepL, la qualità della traduzione potrebbe essere leggermente inferiore, ma offre un migliore rapporto qualità-prezzo, in particolare con una quota gratuita mensile di 500.000 caratteri.

Introduzione al prodotto

Tutti hanno usato Google Translate; qui presentiamo il suo servizio API, chiamato Google Cloud Translation. Tramite l’API, è possibile implementare la traduzione in batch, modelli di traduzione personalizzati, traduzione di documenti e altre funzionalità.

Introduzione al prodotto

Prezzi

500.000 caratteri gratuiti al mese, la parte eccedente viene tariffata in base al numero di caratteri.

Grafico dei prezzi

Differenze tra versione base e avanzata

FunzioneVersione BaseVersione Avanzata
Quota gratuita500.000 caratteri/mese500.000 caratteri/mese
Per milione di caratteri20 $80 $
Traduzione documenti0,08/pagina0,25/pagina
Traduzione personalizzata

Iniziare

Crea o seleziona un progetto

  • Abilita l’API, se la funzionalità di fatturazione non è attivata, ti verrà richiesto di aggiungere un account di fatturazione, è necessaria una carta di credito estera

Abilita

Abilita 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
  • Prova
    $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

Esecuzione riuscita

Uso del comando curl su 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"

A questo punto, sei già in grado di utilizzare l’API di Google Translate per tradurre in batch.

Casi d’uso di riferimento

  • Tradurre siti web o applicazioni
  • Allenare modelli di traduzione personalizzati
  • Aggiungere sottotitoli in diverse lingue ai video
  • Effettuare il doppiaggio dei video in diverse lingue
  • Tradurre documenti formattati
  • Tradurre in tempo reale le interazioni con i clienti

Approfondimenti

Postilla

La documentazione ufficiale di Google Translate è prolissa e esistono diversi modi per implementare la stessa funzionalità; inoltre, ci sono molteplici percorsi per i passaggi di autenticazione e chiamata. Questo articolo seleziona solo i metodi d’uso più consigliati e semplici per gli utenti comuni, come riferimento.

  • Tra i tipi di autenticazione, è stata scelta l’autenticazione locale (gcloud CLI)
  • Per il metodo d’uso, è stata scelta la REST API (Curl/Invoke-WebRequest)
  • Tra la versione base e quella avanzata, è stata scelta la versione avanzata

Questo è un articolo originale pubblicato su blog.jqknono.dev, la riproduzione non autorizzata è vietata