Veja nesta página as principais diferenças entre o Cloud Translation - Basic e o Advanced. Encontre também alguns exemplos de código que ajudarão você a migrar seu aplicativo. Se quiser ver somente os recursos da versão Advanced, como os glossários, consulte o artigo Introdução ao Cloud Translation - Advanced.
O Cloud Translation - Advanced é compatível com todos os recursos e modelos disponíveis no Basic. No entanto, as bibliotecas de cliente não são compatíveis com versões anteriores à integração do cliente. Em outras palavras, você precisa planejar a migração dos seus aplicativos para aproveitar os recursos da versão Advanced.
Se você estiver planejando um novo projeto, crie seu aplicativo com o Cloud Translation - Advanced para aproveitar os novos recursos e as melhorias nos serviços. O Cloud Translation - Basic continua disponível, mas não é compatível com novos recursos, como glossários, tradução em lote ou seleção de modelos.
Principais diferenças entre o Basic e o Advanced
Há diversas diferenças entre o Cloud Translation - Advanced e o Basic.
Contas de serviço
O Cloud Translation - Basic permite o uso de chaves de API para fazer a autenticação para o Translation.
O Cloud Translation - Advanced tem funcionalidades que exigem recursos gerenciados pelo cliente, como o gerenciamento de permissões e papéis do IAM. Por essa razão, não é possível usar chaves de API para autenticar para o serviço. Em vez disso, é preciso usar contas de serviço ao autenticar para o Translation.
Papéis do IAM
As contas de serviço para autenticação para o Translation anteriormente não precisavam ter papéis do IAM especializados aplicados a elas.
Com o Cloud Translation - Advanced, você tem acesso a vários papéis do IAM que podem ser atribuídos à sua conta de serviço para acessar recursos específicos no seu projeto. Por exemplo, se você quiser usar sua conta de serviço para traduzir texto, atribua o papel roles/cloudtranslate.user
a ela. Consulte Introdução ao Cloud Translation - Advanced para mais informações sobre os papéis do IAM disponíveis.
Recursos, projetos e locais
Ao fazer solicitações ao Cloud Translation - Advanced, você precisa fornecer o nome dos recursos que quer usar. Um recurso geralmente é um nome qualificado que inclui o nome do projeto e o local dele, como o nome de um modelo do AutoML.
Por exemplo, se o projeto do Google Cloud tiver o nome my-project
e o local do recurso for us-central1
, o nome completo dos seus recursos poderá ser semelhante a este:
projects/my-project/locations/us-central1/...
Use também o nome do local nos URLs para os quais envia solicitações REST. O local especifica onde a solicitação é executada.
Por exemplo, o URL para o qual você envia uma solicitação getSupportedLanguages
pode ser semelhante ao seguinte:
https://translation.googleapis.com/v3/projects/my-project/locations/us-central1/supportedLanguages
Modelos de tradução
Ao solicitar uma tradução do Cloud Translation - Advanced, você pode usar um modelo personalizado do AutoML Translation ou os modelos gerais, a tradução automática neural (NMT, na sigla em inglês) e a tradução automática baseada em frases (SPMT, na sigla em inglês).
Para fazer a integração com modelos do AutoML, as contas de serviço usadas para solicitações de tradução precisam ter as permissões apropriadas do IAM para acessar os modelos gerais e de AutoML, definidos no seu projeto ou em outro.
Para mais informações sobre a seleção de um modelo de tradução, consulte Como traduzir textos com o Cloud Translation - Advanced.
Limite de conteúdo por solicitação
A API Cloud Translation é otimizada para tradução de solicitações menores. O tamanho máximo recomendado para cada solicitação é de 5.000 caracteres (pontos de código). No entanto, quanto mais você incluir, maior será a latência de resposta. Para a Cloud Translation - Advanced, o número máximo de pontos de código para uma única solicitação é de 30.000. O tamanho máximo para solicitações da Cloud Translation - Basic é de 100.000 bytes.
A API Cloud Translation rejeitará solicitações maiores que o limite e enviará um
erro 400 INVALID_ARGUMENT
, independentemente da cota disponível.
Para mais informações sobre cotas e limites, consulte esta página.
Etapas recomendadas na migração para o Advanced
Consulte as etapas a seguir para atualizar seu aplicativo do Cloud Translation - Basic para o Advanced.
- Faça um inventário dos seus projetos, aplicativos e usuários do Google Cloud que acessam a API Basic.
- Configure contas de serviço e autenticação para seu aplicativo. Consulte o material sobre os papéis do IAM, com atenção especial aos papéis do AutoML, Cloud Storage e Cloud Translation.
- Ative o Cloud Translation - Advanced para seu projeto. Se você usa modelos AutoML com a versão Advanced, também precisa ativar o AutoML.
- Use os métodos e as bibliotecas de cliente do Cloud Translation - Advanced. Para solicitações do Cloud Translation - Advanced,
inclua o número (ou ID) do projeto e o local do projeto,
que costuma ser
global
ouus-central1
. Saiba mais em Diferenças entre API e bibliotecas de cliente. - Atualize seu fluxo de trabalho de aplicativo ou de tradução para aproveitar os novos recursos. Para integrar seu aplicativo com o AutoML e o Cloud Storage, é preciso aplicar os papéis e permissões de IAM apropriados às suas contas de serviço para que eles possam acessar seus recursos.
- Verifique se o tamanho das suas solicitações de tradução para o Cloud Translation - Advanced não excede o limite.
- Planeje seu monitoramento de cota de solicitação de tradução. As duas versões da API compartilham as mesmas cotas diárias e mensais.
- Analise as possíveis alterações no faturamento.
Diferenças de API e bibliotecas de cliente
As seções a seguir descrevem as diferenças específicas entre fazer chamadas com o Cloud Translation - Basic e com o Advanced.
Como importar as bibliotecas de cliente do Cloud Translation - Advanced
Para importar as bibliotecas de cliente do Cloud Translation - Advanced, use o código a seguir.
C#
nuget install Google.Cloud.Translate.V3 -Pre
Go
go get -u cloud.google.com/go/translate/apiv3
Java
Se você estiver usando o Maven,
adicione o código abaixo ao arquivo pom.xml
. Para mais informações sobre
BOMs, consulte BOM das bibliotecas do Google Cloud Platform.
Se você estiver usando o Gradle, adicione isto às dependências:
Se você estiver usando o sbt, adicione o seguinte às suas dependências:
Caso você esteja usando o IntelliJ ou o Eclipse, poderá adicionar bibliotecas de cliente ao seu projeto usando estes plug-ins de ambiente de desenvolvimento integrado:
Os plug-ins também oferecem outras funcionalidades, como gerenciamento de chaves de contas de serviço. Consulte a documentação de cada plug-in para mais detalhes.
Node.js
Para mais informações sobre a configuração do ambiente de desenvolvimento do Node.js, consulte o Guia de configuração do ambiente de desenvolvimento do Node.js.
npm install --save @google-cloud/translate
PHP
composer require google/cloud-translate
Python
Para mais informações sobre a configuração do ambiente de desenvolvimento do Python, consulte o Guia de configuração do ambiente de desenvolvimento do Python.
pip install --upgrade google-cloud-translate
Ruby
Consulte o Guia de configuração do ambiente para desenvolvedores do Ruby para mais informações sobre esse assunto.
gem install google-cloud-translate
Como traduzir textos
No Cloud Translation - Basic, use o seguinte código para enviar uma solicitação de tradução para a API:
REST e linha de comando
Método HTTP e URL:
POST https://translation.googleapis.com/language/translate/v2
Corpo JSON da solicitação:
{ "q": ["Hello world", "My name is Jeff"], "target": "de" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
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/language/translate/v2
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
$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/language/translate/v2 " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "data": { "translations": [ { "translatedText": "Hallo Welt", "detectedSourceLanguage": "en" }, { "translatedText": "Mein Name ist Jeff", "detectedSourceLanguage": "en" } ] } }
C#
Antes de testar esta amostra, siga as instruções de configuração para C# no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para C#.
Go
Antes de testar esta amostra, siga as instruções de configuração para Go no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Go.
Java
Antes de testar esta amostra, siga as instruções de configuração para Java no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Java.
Node.js
Antes de testar esta amostra, siga as instruções de configuração para Node.js no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Node.js.
PHP
Antes de testar esta amostra, siga as instruções de configuração para PHP no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para PHP.
Python
Antes de testar esta amostra, siga as instruções de configuração para Python no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Python.
Ruby
Antes de testar esta amostra, siga as instruções de configuração para Ruby no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Ruby.
Com o Cloud Translation - Advanced, você precisa fornecer o número ou ID do projeto e o local dele (normalmente global
ou us-central1
) ao fazer uma solicitação translateText
.
Também é possível especificar explicitamente um modelo de tradução ou um glossário para utilizar ao traduzir o texto e até mesmo pedir para receber a tradução da resposta como text/plain
ou text/html
. O valor padrão é text/html
.
REST e linha de comando
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-number-or-id: pelo número ou o código do seu projeto do Google Cloud
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/project-number-or-id:translateText
Corpo JSON da solicitação:
{ "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, come here!", "Bring me some coffee!"] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
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:translateText
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
$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:translateText " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
C#
Antes de testar esta amostra, siga as instruções de configuração para C# no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para C#.
Go
Antes de testar esta amostra, siga as instruções de configuração para Go no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Go.
Java
Antes de testar esta amostra, siga as instruções de configuração para Java no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Java.
Node.js
Antes de testar esta amostra, siga as instruções de configuração para Node.js no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Node.js.
Python
Antes de testar esta amostra, siga as instruções de configuração para Python no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Python.
Ruby
Antes de testar esta amostra, siga as instruções de configuração para Ruby no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Ruby.
Como descobrir idiomas compatíveis
Para ver a lista de idiomas compatíveis com a API no Cloud Translation - Basic, use o seguinte código:
REST e linha de comando
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-number-or-id: pelo número ou o código do seu projeto do Google Cloud
Método HTTP e URL:
GET https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o comando a seguir:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
PowerShell
Execute o comando a seguir:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "languages": [ "languageCode": "af", "supportSource": true, "supportTarget": true }, { "languageCode": "am", "supportSource": true, "supportTarget": true }, { "languageCode": "ar", "supportSource": true, "supportTarget": true }, .... { "languageCode": "zu", "supportSource": true, "supportTarget": true } ] }
A lista é classificada em ordem alfabética por código de idioma. Esta consulta retorna códigos ISO 639-1 para idiomas compatíveis. Alguns códigos de idioma também incluem o código do país, como zh-CN ou zh-TW. Por exemplo:
{ "languageCode": "zh-TW", "supportSource": true, "supportTarget": true },
Java
Node.js
Python
Com o Cloud Translation - Advanced, você precisa fornecer o número ou ID do projeto e o local dele (normalmente global
ou us-central1
) ao fazer uma solicitação getSupportedLanguages
.
REST e linha de comando
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-number-or-id: pelo número ou o código do seu projeto do Google Cloud
Método HTTP e URL:
GET https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o comando a seguir:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
PowerShell
Execute o comando a seguir:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "languages": [ "languageCode": "af", "supportSource": true, "supportTarget": true }, { "languageCode": "am", "supportSource": true, "supportTarget": true }, { "languageCode": "ar", "supportSource": true, "supportTarget": true }, .... { "languageCode": "zu", "supportSource": true, "supportTarget": true } ] }
A lista é classificada em ordem alfabética por código de idioma. Esta consulta retorna códigos ISO 639-1 para idiomas compatíveis. Alguns códigos de idioma também incluem o código do país, como zh-CN ou zh-TW. Por exemplo:
{ "languageCode": "zh-TW", "supportSource": true, "supportTarget": true },
C#
Antes de testar esta amostra, siga as instruções de configuração para C# no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para C#.
Go
Antes de testar esta amostra, siga as instruções de configuração para Go no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Go.
Java
Antes de testar esta amostra, siga as instruções de configuração para Java no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Java.
Node.js
Antes de testar esta amostra, siga as instruções de configuração para Node.js no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Node.js.
Python
Antes de testar esta amostra, siga as instruções de configuração para Python no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Python.
Ruby
Antes de testar esta amostra, siga as instruções de configuração para Ruby no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Ruby.
Como detectar um idioma
Para detectar o idioma de origem de um texto com o Cloud Translation - Basic, use o seguinte código:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'q': 'Omnia Gallia est divisa in tres partes', }" "https://translation.googleapis.com/language/translate/v2/detect"
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON:
{ "data": { "detections": [ [ { "confidence": 0.93554825, "isReliable": false, "language": "la" } ] ] }
Java
Antes de testar esta amostra, siga as instruções de configuração para Java no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Java.
Node.js
Antes de testar esta amostra, siga as instruções de configuração para Node.js no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Node.js.
Python
Antes de testar esta amostra, siga as instruções de configuração para Python no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Python.
Com o Cloud Translation - Advanced, você precisa fornecer o número ou ID do projeto e o local dele (normalmente global
ou us-central1
) ao fazer uma solicitação detectLanguage
.
Além disso, é possível configurar a solicitação feita ao Cloud Translation - Advanced para enviar diferentes tipos de MIME. Por exemplo, solicite text/html
ou text/plain
. O valor padrão é text/html
.
REST e linha de comando
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-number-or-id: pelo número ou o código do seu projeto do Google Cloud
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global:detectLanguage
Corpo JSON da solicitação:
{ "content":"Доктор Ватсон, иди сюда!" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
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/global:detectLanguage
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
e execute o comando a seguir:
$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/global:detectLanguage " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "languages": [ { "languageCode": "ru", "confidence": 1 } ] }
languageCode
informa o código do idioma detectado. confidence
é um intervalo de 0 a 1, sendo que 1 indica confiança total.C#
Antes de testar esta amostra, siga as instruções de configuração para C# no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para C#.
Go
Antes de testar esta amostra, siga as instruções de configuração para Go no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Go.
Node.js
Antes de testar esta amostra, siga as instruções de configuração para Node.js no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Node.js.
Python
Antes de testar esta amostra, siga as instruções de configuração para Python no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Python.
Ruby
Antes de testar esta amostra, siga as instruções de configuração para Ruby no Guia de início rápido do Translation: como usar bibliotecas de cliente. Saiba mais na documentação de referência da API Translation para Ruby.