Aplicações que atendem usuários de diferentes países frequentemente precisam lidar com conteúdos em vários idiomas. Traduzir essas informações manualmente pode funcionar em pequena escala, mas se torna inviável quando estamos falando de milhares de mensagens, comentários, documentos ou conteúdos gerados diariamente.
O Amazon Translate é o serviço gerenciado de tradução automática da AWS. Ele utiliza tecnologias de Machine Learning para traduzir conteúdos entre diferentes idiomas sem que seja necessário desenvolver ou manter modelos próprios de tradução.
Como funciona o Amazon Translate?
O funcionamento é bastante simples. Enviamos um texto ao Amazon Translate informando o idioma de origem e o idioma de destino. O serviço processa o conteúdo e retorna sua versão traduzida.

Por exemplo, podemos enviar:
Bem-vindo à SatellaSoftInformando pt como idioma de origem e en como idioma de destino, recebemos como resultado:
Welcome to SatellaSoftO serviço permite trabalhar com traduções em tempo real e também com processamento em lote. Em tempo real, enviamos o conteúdo e recebemos a tradução imediatamente. Já o processamento em lote é interessante quando precisamos trabalhar com grandes quantidades de documentos armazenados no Amazon S3.
Idiomas disponíveis
O Amazon Translate trabalha com códigos que identificam o idioma de origem e o idioma para o qual queremos realizar a tradução. Alguns exemplos são:
- Português:
pt - Inglês:
en - Espanhol:
es - Francês:
fr - Alemão:
de - Italiano:
it - Japonês:
ja
Como a lista de idiomas suportados pode ser atualizada pela AWS, o ideal é consultar a documentação oficial antes de definir quais idiomas estarão disponíveis em uma aplicação.
Idiomas e códigos suportados pelo Amazon Translate
Também podemos utilizar auto como idioma de origem. Nesse cenário, o Amazon Translate utiliza o Amazon Comprehend para identificar automaticamente o idioma antes de realizar a tradução.
Casos de uso
Um cenário bastante comum está em sistemas de atendimento. Imagine que um cliente envie uma mensagem em espanhol enquanto a equipe responsável pelo atendimento trabalha em português. A aplicação pode traduzir automaticamente a mensagem recebida e realizar o processo inverso quando o atendente responder.
Também podemos utilizar o Translate em plataformas que recebem conteúdos produzidos pelos próprios usuários, como comentários, avaliações, chats e fóruns. Isso permite, por exemplo, padronizar o idioma antes de enviar o conteúdo para outras etapas de processamento.
Um exemplo seria utilizar o Amazon Comprehend para analisar o sentimento de comentários escritos em diferentes idiomas:
Comentário → Amazon Translate → Amazon Comprehend → Análise de sentimento
Outro cenário interessante é combinar os serviços que vimos anteriormente nesta série. Podemos receber um áudio, transformá-lo em texto, traduzir esse conteúdo e posteriormente gerar uma nova narração:
Áudio → Amazon Transcribe → Amazon Translate → Amazon Polly → Áudio traduzido
Cada serviço fica responsável por uma etapa específica do processamento.
Permissões necessárias no IAM
Antes que uma aplicação possa utilizar o Amazon Translate, a identidade utilizada para acessar a AWS precisa possuir as permissões necessárias no IAM.
Para realizar somente traduções de texto em tempo real, podemos seguir o princípio do menor privilégio e liberar apenas a operação TranslateText.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TranslateText",
"Effect": "Allow",
"Action": [
"translate:TranslateText"
],
"Resource": "*"
}
]
}Dessa forma, a identidade poderá executar traduções utilizando TranslateText, mas não terá acesso às demais operações administrativas do serviço.
Caso o projeto posteriormente utilize recursos como processamento em lote ou terminologias personalizadas, será necessário adicionar as permissões correspondentes.
Ações, recursos e condições do Amazon Translate no IAM
Terminologias personalizadas
Em alguns projetos, simplesmente traduzir uma palavra não é suficiente. Nomes de produtos, marcas e termos específicos de uma empresa podem precisar permanecer inalterados ou possuir uma tradução previamente definida.
Para esses casos, o Amazon Translate oferece o recurso Custom Terminology.
Podemos definir, por exemplo, que determinados nomes utilizados pela aplicação devem permanecer iguais durante uma tradução ou estabelecer qual tradução deverá ser utilizada para determinado termo.
Isso é especialmente útil em aplicações corporativas, documentação técnica e plataformas que precisam manter uma terminologia consistente entre diferentes idiomas.
Conclusão
O Amazon Translate permite adicionar tradução automática às aplicações sem precisar desenvolver ou manter uma infraestrutura própria para processamento de linguagem.
Além da tradução isolada, uma das possibilidades mais interessantes está justamente na combinação com outros serviços da AWS. Podemos utilizar o Amazon Transcribe para transformar áudio em texto, o Amazon Translate para traduzir esse conteúdo, o Amazon Comprehend para analisá-lo e o Amazon Polly para transformá-lo novamente em áudio.
Deixe um comentário