La traduzione batch ti consente di tradurre grandi quantità di testo (con un limite di 100 file per batch) e di 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
Prima di iniziare a utilizzare l'API Cloud Translation, devi avere un progetto in cui sia abilitata l'API Cloud Translation e disporre di una chiave privata con le credenziali appropriate. Puoi anche installare librerie client per linguaggi di programmazione comuni per aiutarti a effettuare chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.
Autorizzazioni
Per le traduzioni batch, devi avere accesso ai bucket Cloud Storage, oltre alle autorizzazioni di Cloud Translation.
I file di input di 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 disporre almeno delle 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/plain (.tsv e .txt).
Utilizzare un file TSV
Se un'estensione di file è TSV, può contenere una o due colonne. La prima colonna (facoltativa) contiene l'ID della richiesta di testo. Se manca la prima colonna, Google utilizza il numero di riga (0) nel file di input come ID nel file 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.
Utilizzando testo o HTML
Le altre estensioni di file supportate sono file di testo (.txt) o HTML, che viene considerato come un singolo grande blocco di testo.
Richiesta in batch
Con una richiesta di traduzione batch, fornisci il percorso a un file di configurazione dell'input (InputConfig) contenente i contenuti che vuoi tradurre e fornisci un percorso a una posizione di output (OutputConfig) per la traduzione finale. Sono necessari almeno due diversi bucket Cloud Storage. Il bucket di origine include contenuti da tradurre e il bucket di destinazione conterrà i file tradotti risultanti. Il bucket di destinazione deve essere vuoto 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à, l'output parziale a livello di file di input viene comunque prodotto nella località di Cloud Storage di output. Di conseguenza, il numero di caratteri tradotti viene comunque addebitato.
REST &CMD LINE
Questo esempio mostra due file di input inviati per la traduzione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: ID o numero del progetto Google Cloud
Metodo HTTP e URL:
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, scegli una delle seguenti opzioni:
Curling
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/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 per la configurazione di Go nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Translation Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Translation.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Translation.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida alla traduzione con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di traduzione.
Lingue aggiuntive
C#: Segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per Ruby.
Esecuzione di una richiesta in batch utilizzando un modello AutoML
Puoi utilizzare un modello personalizzato per le richieste in batch. Ci sono vari scenari in cui sono coinvolte più lingue di destinazione.
Specifica di un modello AutoML per la lingua di destinazione
REST &CMD LINE
Questo esempio mostra come specificare un modello personalizzato per la lingua di destinazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: ID o numero del progetto Google Cloud
Metodo HTTP e URL:
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, scegli una delle seguenti opzioni:
Curling
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/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 per la configurazione di Go nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Translation Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Translation.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Translation.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida alla traduzione con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di traduzione.
Lingue aggiuntive
C#: Segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per Ruby.
Specificare modelli AutoML per più lingue di destinazione
REST &CMD LINE
Se hai più lingue di destinazione, puoi specificare un modello personalizzato per ogni lingua di destinazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: ID o numero del progetto Google Cloud
Metodo HTTP e URL:
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, scegli una delle seguenti opzioni:
Curling
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/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 altre
Puoi specificare un modello personalizzato per una determinata lingua di destinazione, senza specificare un modello per le altre lingue di destinazione. Utilizza il codice per specificare i modelli personalizzati per più lingue di destinazione. È sufficiente modificare il campo models
per specificare la lingua di destinazione per il modello, es
in questo esempio, e lasciare 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 di progetto Google Cloud, mentre model-id
è il nome che hai dato al tuo modello AutoML.
Traduzione di testo con un glossario
REST &CMD LINE
Questo esempio mostra come specificare un glossario per la lingua di destinazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: ID o numero del progetto Google Cloud
- glossary-id: il tuo ID glossario, ad esempio "my-en-to-es-glossary"
Metodo HTTP e URL:
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:
Curling
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 per la configurazione di Go nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Translation Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Translation.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Translation.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida alla traduzione con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di traduzione.
Lingue aggiuntive
C#: Segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per Ruby.
Traduzione di testo utilizzando un glossario e un modello personalizzati di AutoML Translation
REST &CMD LINE
Questo esempio mostra come specificare un modello e un glossario personalizzati per la lingua di destinazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: ID o numero del progetto Google Cloud
Metodo HTTP e URL:
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:
Curling
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 per la configurazione di Go nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Translation Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Translation.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida alla traduzione con le librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Translation.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida alla traduzione con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di traduzione.
Lingue aggiuntive
C#: Segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione per Ruby.
Stato operazione
Una richiesta in batch è un'operazione a lunga esecuzione, quindi può richiedere un tempo considerevole per il completamento. Puoi controllare lo stato di questa operazione per vedere se è stata completata o annullarla.
Per ulteriori informazioni, consulta la sezione Operazioni a lunga esecuzione.
Risorse aggiuntive
- Per la risoluzione dei problemi o degli errori comuni, consulta la pagina Risoluzione dei problemi.