A tradução em lote permite-lhe traduzir grandes quantidades de texto (com um limite de 100 ficheiros por lote) e até 10 idiomas de destino diferentes num comando offline. O tamanho total do conteúdo deve ser <= 100 M de pontos de código Unicode e tem de usar a codificação UTF-8.
Antes de começar
Antes de poder começar a usar a API Cloud Translation, tem de ter um projeto com a API Cloud Translation ativada e as credenciais adequadas. Também pode instalar bibliotecas cliente para linguagens de programação comuns para ajudar a fazer chamadas para a API. Para mais informações, consulte a página Configuração.
Autorizações
Para traduções em lote, tem de ter acesso a contentores do Cloud Storage, além das autorizações do Cloud Translation.
Os ficheiros de entrada de tradução em lote são lidos a partir de um contentor do Cloud Storage e os ficheiros de saída são escritos num contentor do Cloud Storage. Por exemplo, para ler ficheiros de entrada de um contentor, tem de ter, pelo menos, autorizações de leitura de objetos (fornecidas pela função roles/storage.objectViewer
) no contentor. Para mais informações sobre as funções do Cloud Storage, consulte a documentação do Cloud Storage.
Ficheiro de entrada
Apenas são suportados dois tipos MIME: text/html (HTML) e text/plain (.tsv e .txt).
Usar um ficheiro TSV
Se a extensão de um ficheiro for TSV, este pode conter uma ou duas colunas. A primeira coluna (opcional) é o ID do pedido de texto. Se a primeira coluna estiver em falta, a Google usa o número da linha (com base em 0) do ficheiro de entrada como o ID no ficheiro de saída. A segunda coluna é o texto real a traduzir. Para obter os melhores resultados, cada linha deve ter um número de pontos de código Unicode inferior ou igual a 10 000. Caso contrário, pode ser devolvido um erro.
Usar texto ou HTML
As outras extensões de ficheiros suportadas são ficheiros de texto (.txt) ou HTML, que são tratados como um único bloco grande de texto.
Pedido em lote
Com um pedido de tradução em lote, fornece o caminho para um ficheiro de configuração de entrada (InputConfig) que contém o conteúdo que quer traduzir e fornece um caminho para uma localização de saída (OutputConfig) para a tradução final. Precisa de, pelo menos, dois contentores do Cloud Storage diferentes. O contentor de origem contém o conteúdo a ser traduzido e o contentor de destino contém os ficheiros traduzidos resultantes. A pasta de destino tem de estar vazia antes de o processo de tradução começar.
À medida que o pedido é processado, escrevemos os resultados na localização de saída em tempo real. Mesmo que cancele o pedido a meio, o resultado parcial ao nível do ficheiro de entrada é produzido na localização de armazenamento na nuvem de saída. Por conseguinte, o número de carateres traduzidos continua a ser cobrado.
REST
Este exemplo mostra dois ficheiros de entrada enviados para tradução.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON do pedido:
{ "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/" } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da GoAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da JavaAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da Node.jsAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da PythonAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite a documentação de referência do Cloud Translation para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para Ruby.
Fazer um pedido em lote com um modelo do AutoML
Pode usar um modelo personalizado para pedidos em lote. Existem vários cenários quando estão envolvidos vários idiomas de destino.
Especificar um modelo da AutoML para o idioma de destino
REST
Este exemplo mostra como especificar um modelo personalizado para o idioma de destino.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON do pedido:
{ "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/" } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da GoAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da JavaAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da Node.jsAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da PythonAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite a documentação de referência do Cloud Translation para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para Ruby.
Especificar modelos da AutoML para vários idiomas de destino
REST
Quando tem vários idiomas de destino, pode especificar um modelo personalizado para cada idioma de destino.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON do pedido:
{ "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/" } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } }
Especificar um modelo do AutoML para um idioma de destino e não para outros
Pode especificar um modelo personalizado para um idioma de destino específico sem especificar um modelo para os outros idiomas de destino. Usando o código para
Especificar modelos personalizados para vários idiomas de destino, basta modificar o campo models
para especificar o idioma de destino do modelo, es
neste exemplo, e deixar fr
não especificado:
"models": {'es':'projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id'},
em que PROJECT_NUMBER_OR_ID
é o Google Cloud número do projeto
ou o ID, e model-id
é o nome que deu ao seu modelo do AutoML.
Traduzir texto com um glossário
REST
Este exemplo mostra como especificar um glossário para o idioma de destino.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu Google Cloud projeto
- glossary-id: o ID do glossário, por exemplo, "my-en-to-es-glossary"
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON do pedido:
{ "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/" } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
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
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da GoAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da JavaAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da Node.jsAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da PythonAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite a documentação de referência do Cloud Translation para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para Ruby.
Traduzir texto com um modelo personalizado e um glossário do AutoML Translation
REST
Este exemplo mostra como especificar um modelo e um glossário personalizados para o idioma de destino.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
Corpo JSON do pedido:
{ "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/" } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
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
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da GoAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da JavaAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da Node.jsAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Cloud Translation com bibliotecas cliente. Para mais informações, consulte a documentação de referência da PythonAPI Cloud Translation.
Para se autenticar no Cloud Translation, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite a documentação de referência do Cloud Translation para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Cloud Translation para Ruby.
Estado de funcionamento
Um pedido em lote é uma operação de longa duração, pelo que pode demorar um período considerável a ser concluído. Pode sondar o estado desta operação para ver se foi concluída ou pode cancelar a operação.
Para mais informações, consulte o artigo Operações de longa duração.
Recursos adicionais
- Para obter ajuda na resolução de problemas ou erros comuns, consulte a página de resolução de problemas.