La traduzione batch ti consente di tradurre grandi quantità di testo (con un limite di 100 file per batch) e fino a 10 lingue di destinazione diverse in un comando offline. Le dimensioni totali dei contenuti devono essere <= 100 milioni di punti di codice Unicode e devono utilizzare la codifica UTF-8.
Prima di iniziare
Per iniziare a utilizzare l'API Cloud Translation, devi avere un progetto in cui sia abilitata l'API Cloud Translation e disporre delle credenziali appropriate. Puoi anche installare librerie client per linguaggi di programmazione comuni per facilitare le chiamate all'API. Per saperne di più, consulta la pagina Configurazione.
Autorizzazioni
Per le traduzioni batch, devi avere accesso ai bucket Cloud Storage in aggiunta alle autorizzazioni Cloud Translation.
I file di input per la traduzione batch vengono letti da un bucket Cloud Storage, mentre i file di output vengono scritti in un bucket Cloud Storage. Ad esempio, per leggere i file di input da un bucket, devi avere almeno le autorizzazioni di lettura degli oggetti (fornite dal ruolo roles/storage.objectViewer
) nel bucket. Per ulteriori informazioni sui ruoli di Cloud Storage, consulta la documentazione di Cloud Storage.
File di input
Sono supportati solo due tipi MIME: testo/html (HTML) e testo/normale (.tsv e txt).
Utilizzo di un file TSV
Se un'estensione del file è TSV, può contenere una o due colonne. La prima colonna (facoltativa) rappresenta l'ID della richiesta di testo. Se la prima colonna non è presente, Google utilizza il numero di riga (in base a 0) del file di input come ID nel file di output. La seconda colonna è il testo da tradurre. Per ottenere risultati ottimali, ogni riga deve essere inferiore o uguale a 10.000 punti di codice Unicode. In caso contrario, potrebbe essere restituito un errore.
Utilizzo di testo o HTML
Le altre estensioni di file supportate sono file di testo (.txt) o HTML, che viene considerato come un singolo blocco di testo di grandi dimensioni.
Richiesta batch
Con una richiesta di traduzione batch, fornisci il percorso di un file di configurazione di input (InputConfig) con i contenuti che vuoi tradurre e fornisci un percorso a una posizione di output (OutputConfig) per la traduzione finale. Sono necessari almeno due bucket Cloud Storage diversi. Il bucket di origine include i contenuti da tradurre e il bucket di destinazione conterrà i file tradotti tradotti. La cartella di destinazione deve essere vuota prima dell'inizio del processo di traduzione.
Durante l'elaborazione della richiesta, scriviamo i risultati nella posizione di output in tempo reale. Anche se annulli la richiesta a metà tempo, l'output parziale a livello di file di input viene comunque prodotto nella posizione di Cloud Storage di output. Pertanto, il numero di caratteri tradotti viene comunque addebitato.
REST
Questo esempio mostra due file di input inviati per la traduzione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: numero o ID del tuo progetto Google Cloud
Metodo e URL HTTP:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON richiesta:
{ "sourceLanguageCode": "en", "targetLanguageCodes": ["es", "fr"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-number/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Esecuzione di una richiesta in batch utilizzando un modello AutoML
Puoi utilizzare un modello personalizzato per le richieste in batch. Esistono diverse situazioni in cui sono coinvolte più lingue di destinazione.
Specifica di un modello AutoML per la lingua di destinazione
REST
Questo esempio mostra come specificare un modello personalizzato per la lingua di destinazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: numero o ID del tuo progetto Google Cloud
Metodo e URL HTTP:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON richiesta:
{ "models":{"es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id"}, "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-number/locations/us-central1/operations/20190725-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Specifica dei modelli AutoML per più lingue di destinazione
REST
Se hai più lingue di destinazione, puoi specificare un modello personalizzato per ognuna.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: numero o ID del tuo progetto Google Cloud
Metodo e URL HTTP:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON richiesta:
{ "models":{ "es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id1", "fr":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id2"}, "sourceLanguageCode": "en", "targetLanguageCodes": ["es", "fr"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-number/locations/us-central1/operations/20191105-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Specifica di un modello AutoML per una lingua di destinazione e non per un'altra
Puoi specificare un modello personalizzato per una determinata lingua di destinazione, ma non un modello per le altre. Utilizzando il codice per Specificare modelli personalizzati per più lingue di destinazione, modifica il campo models
per specificare la lingua di destinazione del modello, es
in questo esempio, e lascia fr
non specificato:
"models": {'es':'projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id'},
dove PROJECT_NUMBER_OR_ID
è il tuo ID o numero del progetto Google Cloud
e model-id
è il nome che hai assegnato al tuo modello AutoML.
Tradurre un testo con un glossario
REST
Questo esempio mostra come specificare un glossario per la lingua di destinazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: numero o ID del tuo progetto Google Cloud
- glossary-id: il tuo ID glossario, ad esempio "my-en-to-es-glossario"
Metodo e URL HTTP:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON richiesta:
{ "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "glossaries": { "es": { "glossary": "projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id" } }, "inputConfigs": [{ "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
ricci
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Tradurre un testo con un modello e un glossario personalizzati di AutoML Translation
REST
Questo esempio mostra come specificare un modello e un glossario personalizzati per la lingua di destinazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: numero o ID del tuo progetto Google Cloud
Metodo e URL HTTP:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON richiesta:
{ "models": { "es": "projects/project_number_or_id/locations/us-central1/models/model-id" }, "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "glossaries": { "es": { "glossary": "projects/project_number_or_id/locations/us-central1/glossaries/glossary-id" } }, "inputConfigs": [{ "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
ricci
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Stato operazione
Una richiesta in batch è un'operazione a lunga esecuzione, pertanto il completamento dell'operazione potrebbe richiedere molto tempo. Puoi eseguire il polling dello stato di questa operazione per verificare se è stata completata o puoi annullarla.
Per ulteriori informazioni, consulta la pagina Operazioni a lunga esecuzione.
Risorse aggiuntive
- Per assistenza sulla risoluzione dei problemi o degli errori più comuni, consulta la pagina Risoluzione dei problemi.