Tutorial sull'uso dell'API di Google Translate
Categories:
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à.

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

Differenze tra versione base e avanzata
| Funzione | Versione Base | Versione Avanzata |
|---|---|---|
| Quota gratuita | 500.000 caratteri/mese | 500.000 caratteri/mese |
| Per milione di caratteri | 20 $ | 80 $ |
| Traduzione documenti | 0,08/pagina | 0,25/pagina |
| Traduzione personalizzata | ✘ | ✔ |
Iniziare

- 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


$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

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
- Portale della documentazione di Cloud Translation
- Autenticarsi con Cloud Translation
- Autenticarsi utilizzando chiavi API
- Le lingue di origine e destinazione sono identificate dai codici ISO-639
- Panoramica della traduzione personalizzata
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
