AWS TRANSLATE | Traducción de textos en diferentes idiomas
Como utilizar Amazon Translate
Como ya podrás adivinar por el nombre, Amazon Translate es un servicio de traducción automática neuronal que ofrece traducción de idiomas rentable, personalizable, de alta calidad y rápida.
Y para poder utilizar este servicio de AWS sigue los siguiente pasos:
Lo primero de todo, para empezar, Necesitamos instalar la versión 2.2 del runtime de visual studio. Para ello, buscamos en Windows “visual studio installer”, En la segunda pestaña donde pone “componentes individuales” buscamos 2.2 y nos aparecerá “Runtime de .NET Core 2.2(sin soporte)”. Clickamos en el checkbox y instalamos, si ya lo tenias no hace falta que lo hagas como entenderas.
Una vez se haya instalado,Crearemos un proyecto en visual studio, en mi caso es un proyecto de consola, pero podéis implementarlo donde lo vayáis a necesitar.
Después, necesitaremos los siguientes nugets
AWSSDK.Extensions.NETCore.Setup
AWSSDK.Translate
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
Microsoft.NETCore.App
Y ya habiendo importado los nuget necesarios, vamos a ver la parte importante.
En mi codigo, dentro del main solicito al usuario por consola que introduzca texto en ingles para traducir al español.
Aquí abajo te pongo el codigo necesario. Todo esto lo tengo metido dentro de la clase Program en un proyecto de consola, pero tu lo puedes integran donde lo necesites.
Método Main
static void Main(string[] args) { Console.Write("Texto en Inglés a traducir: "); string EnglishText = Console.ReadLine(); EnglishText = EnglishText.Trim(); var awsOptions = BuildAwsOptions(); var service = new TranslateService(awsOptions.CreateServiceClient < IAmazonTranslate > ()); // simple translation var translateTask = service.TranslateText(EnglishText, "en", "es"); translateTask.Wait(); var result = translateTask.Result; var translatedText = result.TranslatedText; //Console.WriteLine("Source: {0}", EnglishText); Console.WriteLine(); Console.WriteLine("Translation: {0}", translatedText); Console.WriteLine(); } Propiedad AWSOptions private static AWSOptions BuildAwsOptions() { var builder = new ConfigurationBuilder() .SetBasePath(Environment.CurrentDirectory) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .Build(); return builder.GetAWSOptions(); } Clase TranslateService public class TranslateService { private IAmazonTranslate translate; public TranslateService(IAmazonTranslate translate) { this.translate = translate; } public async Task < TranslateTextResponse > TranslateText(string text, string sourceLanguage, string targetLanguage) { return await this.TranslateText(text, sourceLanguage, targetLanguage, null); } public async Task < TranslateTextResponse > TranslateText(string text, string sourceLanguage, string targetLanguage, List < string > terminologies) { var request = new TranslateTextRequest { SourceLanguageCode = sourceLanguage, TargetLanguageCode = targetLanguage, TerminologyNames = terminologies, Text = text }; return await this.translate.TranslateTextAsync(request); } }
Y esto seria todo el codigo necesario para poder desplegar la aplicación. Recuerda que te dejo abajo en enlace a GitHub de la aplicación para que no tengas que copiarlo de aquí si lo prefieres
Nada mas, espero que tengas tu aplicacion ya funcionando. Hasta aqui el tutorial, si tienes alguna duda dejala en los comentarios. Me despido, programador. ¡Hasta la proxima!
Autor: Sergio Arribas Sánchez
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2020-2021
Código / recursos utilizados / Otros datos de interés:
https://github.com/Sergio-ASdev/AWS_Translate.git