Traduza documentos
O Cloud Translation – Advanced oferece uma API Document Translation para traduzir diretamente documentos formatados, como PDF e DOCX. Em comparação com as traduções de texto simples, a tradução de documentos preserva a formatação e o esquema originais nos documentos traduzidos, o que ajuda a reter grande parte do contexto original, como as quebras de parágrafos.
As secções seguintes descrevem como traduzir documentos e usar a tradução de documentos com outras funcionalidades do Cloud Translation - Advanced, como glossários e modelos do AutoML Translation. A tradução de documentos suporta pedidos de tradução online e em lote.
Para traduções de texto simples e HTML, consulte o artigo Traduzir texto.
Formatos de ficheiros suportados
A tradução de documentos suporta os seguintes tipos de ficheiros de entrada e os respetivos tipos de ficheiros de saída associados.
Entradas | Tipo MIME do documento | Resultado |
---|---|---|
DOC* | application/msword | DOC, DOCX |
DOCX* | application/vnd.openxmlformats-officedocument.wordprocessingml.document | DOCX |
PDF† | application/pdf | PDF, DOCX |
PPT | application/vnd.ms-powerpoint | PPT e PPTX |
PPTX | application/vnd.openxmlformats-officedocument.presentationml.presentation | PPTX |
XLS | application/vnd.ms-excel | XLS e XLSX |
XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | XLSX |
*O conteúdo nas caixas de texto não é traduzido e permanece no idioma de origem.
†A tradução de documentos suporta documentos PDF nativos e digitalizados com algumas diferenças. Para um processamento de formatos ideal, use ficheiros PDF nativos sempre que possível. A tradução de ficheiros PDF digitalizados resulta na perda de alguma formatação. Os esquemas de PDF complexos também podem resultar na perda de alguma formatação, o que pode incluir tabelas de dados, esquemas de várias colunas e gráficos com etiquetas ou legendas.
Se tiver conteúdo PDF no formato DOCX ou PPTX, recomendamos que traduza o conteúdo através desses formatos antes de o converter em PDFs. Em geral, a tradução de documentos preserva o esquema e o estilo de um documento de ficheiros DOCX e PPTX melhor do que de ficheiros PDF. Após a tradução de um documento, pode converter os resultados em ficheiros PDF.
Traduções de documentos PDF nativos e digitalizados
A Tradução de documentos suporta ficheiros PDF nativos e digitalizados, incluindo traduções para ou a partir de idiomas da direita para a esquerda. O suporte para conversões de PDF para DOCX está disponível para traduções de documentos em lote apenas em ficheiros PDF nativos. Além disso, a tradução de documentos preserva as hiperligações, o tamanho do tipo de letra e a cor do tipo de letra apenas para ficheiros PDF nativos (para traduções síncronas e em lote).
Se traduzir um ficheiro PDF com uma combinação de conteúdo PDF nativo e digitalizado, o conteúdo digitalizado não é traduzido.
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 necessárias
Para pedidos que requerem acesso ao Cloud Storage, como a tradução de documentos em lote, pode precisar de autorizações do Cloud Storage para ler ficheiros de entrada ou enviar ficheiros de saída para um contentor. 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.
Traduza documentos (online)
A tradução online oferece processamento em tempo real (processamento síncrono) de um único ficheiro.
Para PDFs, o tamanho do ficheiro pode ser de até 20 MB e até 300 páginas para PDFs nativos (requer que o campo isTranslateNativePdfOnly
seja true
). Se ativar o campo enableShadowRemovalNativePdf
, o limite é de 20 páginas. Para PDFs digitalizados, o limite é de 20 páginas.
Para outros tipos de documentos, os tamanhos dos ficheiros podem ter até 20 MB sem limites de páginas.
Traduza um documento do Cloud Storage
O exemplo seguinte traduz um ficheiro de um contentor do Cloud Storage e envia o resultado para um contentor do Cloud Storage. A resposta também devolve uma stream de bytes. Pode especificar o tipo MIME. Se não o fizer, a tradução de documentos determina-o através da extensão do ficheiro de entrada.
Se não especificar um código de idioma de origem, o Document Translation
deteta o idioma por si. O idioma detetado está incluído no resultado no campo detectedLanguageCode
.
REST
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 projeto Google Cloud .
- LOCATION: região onde quer executar esta operação. Por
exemplo,
us-central1
. - SOURCE_LANGUAGE: (Opcional) O código de idioma do documento de entrada. Se souber, defina um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma de destino para o qual o documento de entrada deve ser traduzido. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- INPUT_FILE_PATH: a localização do Cloud Storage e o nome do ficheiro do documento de entrada.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde o documento de saída vai ser armazenado.
- IS_NATIVE: (Opcional) Para documentos PDF nativos, um valor booleano que indica se o seu pedido usa o limite de páginas PDF nativas ou digitalizadas. Se for verdadeiro, o limite de páginas é aumentado para 300 páginas apenas para documentos PDF nativos. Se for falso ou não especificado, é usado o limite de páginas PDF digitalizadas (20 páginas).
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "isTranslateNativePdfOnly": IS_NATIVE }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt" }
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.
Traduza um documento inline
O exemplo seguinte envia um documento inline como parte do pedido. Tem de incluir o tipo MIME para traduções de documentos inline.
Se não especificar um código de idioma de origem, o Document Translation
deteta o idioma por si. O idioma detetado está incluído no resultado no campo detectedLanguageCode
.
REST
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 projeto Google Cloud .
- LOCATION: região onde quer executar esta operação. Por
exemplo,
us-central1
. - SOURCE_LANGUAGE: (Opcional) O código de idioma do documento de entrada. Se souber, defina um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma de destino para o qual o documento de entrada deve ser traduzido. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- MIME_TYPE: o formato do documento de origem, como
application/pdf
. - INPUT_BYTE_STREAM: o conteúdo do documento de entrada representado como uma stream de bytes.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde o documento de saída vai ser armazenado.
- IS_NATIVE: (Opcional) Para documentos PDF nativos, um valor booleano que indica se o seu pedido usa o limite de páginas PDF nativas ou digitalizadas. Se for verdadeiro, o limite de páginas é aumentado para 300 páginas apenas para documentos PDF nativos. Se for falso ou não especificado, é usado o limite de páginas PDF digitalizadas (20 páginas).
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "mimeType": "MIME_TYPE", "content": "INPUT_BYTE_STREAM" }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "isTranslateNativePdfOnly": IS_NATIVE }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt" }
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.
Use um modelo da AutoML ou um glossário
Em vez do modelo gerido pela Google, pode usar os seus próprios modelos do AutoML Translation para traduzir documentos. Além de especificar um modelo, também pode incluir um glossário para processar a terminologia específica do domínio. Se especificar um modelo ou um glossário, tem de especificar o idioma de origem. O exemplo seguinte usa um modelo do AutoML e um glossário. Se o modelo ou o glossário estiverem num projeto diferente, tem de ter a autorização do IAM correspondente para aceder a esses recursos.
REST
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 projeto Google Cloud .
- LOCATION: região onde quer executar esta operação, como
us-central1
. A localização tem de corresponder à região onde o seu modelo, glossário ou ambos estão localizados. - SOURCE_LANGUAGE: o código do idioma do documento de entrada. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma de destino para o qual o documento de entrada deve ser traduzido. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- INPUT_FILE_PATH: a localização do Cloud Storage e o nome do ficheiro do documento de entrada.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde o documento de saída vai ser armazenado.
- MODEL_PROJECT_ID: o ID do projeto onde o modelo está localizado.
- MODEL_LOCATION: a região onde o modelo está localizado.
- MODEL_ID: o ID do modelo a usar.
- GLOSSARY_PROJECT_ID: o ID do projeto onde o glossário está localizado.
- GLOSSARY_LOCATION: a região onde o glossário está localizado.
- GLOSSARY_ID: o ID do glossário a usar.
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", "glossary_config": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "glossary_document_translation": { "byteStreamOutputs": ["BYTE_STREAM_USING_GLOSSARY"], "mimeType": "MIME_TYPE" }, "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", "glossaryConfig": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" } }
Traduza documentos (em lote)
A tradução em lote permite-lhe traduzir vários ficheiros para vários idiomas num único pedido. Para cada pedido, pode enviar até 100 ficheiros com um tamanho total de conteúdo de até 1 GB ou 100 milhões de pontos de código Unicode, consoante o limite que for atingido primeiro. Pode especificar um modelo de tradução específico para cada idioma.
Traduza vários documentos
O exemplo seguinte inclui várias configurações de entrada. Cada configuração de entrada é um ponteiro para um ficheiro num contentor do Cloud Storage.
REST
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
- LOCATION: região onde quer executar esta operação. Por
exemplo,
us-central1
. - SOURCE_LANGUAGE: o código do idioma dos documentos de entrada. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma ou os idiomas de destino para os quais os documentos de entrada devem ser traduzidos. Use os códigos de idioma indicados em Suporte de idiomas.
- INPUT_FILE_PATH: A localização do Cloud Storage e o nome do ficheiro de um ou mais documentos de entrada.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde todos os documentos de saída são armazenados.
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_1" } }, { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } } }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém o ID de uma operação de longa duração.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
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.
Traduza e converta um ficheiro PDF nativo
O exemplo seguinte traduz e converte um ficheiro PDF nativo num ficheiro DOCX. Pode especificar várias entradas de vários tipos de ficheiros. Não têm de ser todas ficheiros PDF nativos. No entanto, não é possível incluir ficheiros PDF digitalizados quando inclui uma conversão. O pedido é rejeitado e não são feitas traduções. Apenas os ficheiros PDF nativos são traduzidos e convertidos em ficheiros DOCX. Por exemplo, se incluir ficheiros PPTX, estes são traduzidos e devolvidos como ficheiros PPTX.
Se traduz regularmente uma combinação de ficheiros PDF nativos e digitalizados, recomendamos que os organize em contentores do Cloud Storage separados. Desta forma, quando pedir uma tradução e uma conversão em lote, pode excluir facilmente o contentor que contém ficheiros PDF digitalizados em vez de ter de excluir ficheiros individuais.
REST
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
- LOCATION: região onde quer executar esta operação. Por
exemplo,
us-central1
. - SOURCE_LANGUAGE: o código do idioma dos documentos de entrada. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma ou os idiomas de destino para os quais os documentos de entrada devem ser traduzidos. Use os códigos de idioma indicados em Suporte de idiomas.
- INPUT_FILE_PATH: a localização do Cloud Storage e o nome do ficheiro de um ou mais ficheiros PDF nativos.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde todos os documentos de saída são armazenados.
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_1" } }, { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "format_conversions": { "application/pdf": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" } }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém o ID de uma operação de longa duração.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Use um modelo da AutoML ou um glossário
Em vez do modelo gerido pela Google, pode usar os seus próprios modelos do AutoML Translation para traduzir documentos. Além de especificar um modelo, também pode incluir um glossário para processar a terminologia específica do domínio. Se especificar um modelo ou um glossário, tem de especificar o idioma de origem. O exemplo seguinte usa um modelo do AutoML e um glossário. Pode especificar até 10 idiomas de destino com o seu próprio modelo e glossário.
Se especificar um modelo para alguns idiomas de destino e não para outros, a tradução de documentos usa o modelo gerido pela Google para os idiomas não especificados. Da mesma forma, se especificar um glossário para alguns idiomas de destino, a tradução de documentos não usa nenhum glossário para os idiomas não especificados.
REST
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
- LOCATION: região onde quer executar esta operação, como
us-central1
. A localização tem de corresponder à região onde o seu modelo, glossário ou ambos estão localizados. - SOURCE_LANGUAGE: o código do idioma dos documentos de entrada. Definido para um dos códigos de idioma indicados em Suporte de idiomas.
- TARGET_LANGUAGE: o idioma ou os idiomas de destino para os quais os documentos de entrada devem ser traduzidos. Use os códigos de idioma indicados em Suporte de idiomas.
- INPUT_FILE_PATH: A localização do Cloud Storage e o nome do ficheiro de um ou mais documentos de entrada.
- OUTPUT_FILE_PREFIX: a localização do Cloud Storage onde todos os documentos de saída são armazenados.
- MODEL_PROJECT_ID: o ID do projeto onde o modelo está localizado.
- MODEL_LOCATION: a região onde o modelo está localizado.
- MODEL_ID: o ID do modelo a usar.
- GLOSSARY_PROJECT_ID: o ID do projeto onde o glossário está localizado.
- GLOSSARY_LOCATION: a região onde o glossário está localizado.
- GLOSSARY_ID: o ID do glossário a usar.
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON do pedido:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": "[TARGET_LANGUAGE, ...]", "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } } ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "models": { "TARGET_LANGUAGE": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", ... }, "glossaries": { "TARGET_LANGUAGE": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" }, ... } }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém o ID de uma operação de longa duração.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Texto sobreposto
Em alguns casos, as traduções de PDFs nativas podem incluir texto traduzido sobreposto ao texto de origem. Este problema é denominado texto sombreado.
Em determinados casos, pode remover o texto com efeito de sombra ativando a opção
enableShadowRemovalNativePdf
. Se ativar esta opção, a latência da resposta aumenta e, para traduções de documentos online, o limite de páginas é reduzido para 20. Só pode saber se o seu documento requer a remoção de texto sombreado depois de ser traduzido.
Noutros casos, se a opção enableShadowRemovalNativePdf
não funcionar, converta o PDF numa imagem e, em seguida, traduza-o. Normalmente, estes casos incluem texto com várias camadas, como quando o texto selecionável está sobre uma imagem de fundo que também inclui texto. A conversão do PDF numa imagem permite que o Cloud Translation processe o documento como um PDF digitalizado. Para fazer a conversão,
pode usar o Chrome (imprimir como imagem) ou outras ferramentas de terceiros.
Orientação do texto
Para traduções de PDFs digitalizados, o texto de origem tem de estar orientado na horizontal. Por exemplo, se um documento digitalizado incluir texto inclinado para cima ou para baixo, o Cloud Translation pode não analisar corretamente todo o texto, o que resulta em traduções incorretas ou incompletas.
Se os seus documentos não estiverem orientados de forma consistente, pode pedir ao Cloud Translation que os oriente por si. No seu pedido de tradução, ative a opção
enableRotationCorrection
para que o texto seja orientado corretamente antes da tradução.
O que se segue?
- A Tradução de documentos é cobrada por página. Para mais informações, consulte a secção Preços.