Como hacer un skill multilenguaje para Alexa Public

Como hacer un skill multilenguaje para Alexa

benjamin de la cruz
Course by benjamin de la cruz, updated more than 1 year ago Contributors

Description

En este apartado veremos como crear un skill para amazon echo multilenguaje para eso usaremos nuestro skill que hemos creado desde cero llamado Adivina el numero, inicialmente fue creado en español, pero como todavía no lo podemos probar en un amazon echo real, solo lo podemos probar en la plataforma de amazon developer, entonces vamos a agregar el idioma ingles para poder así poder probarlo en un Amazon echo real. phttps://www.benjamindelacruz.com/como-hacer-un-skill-multilenguaje-para-alexa/

Module Information

No tags specified
agregando otro idioma para nuestro skill en la plataforma developer agregamos un idioma mas yo elegi ingles americano, la sigla es [ en-US ]  existen varias mas, como : 'en-US': english, 'en-GB': english, 'en-CA': english, 'en-IN': india english, 'en-AU': english, 'fr-FR': Frances, 'de-DE': Aleman, 'es-ES': espanol, 'it-IT': italiano, esto tenemos que tener en cuenta porque cuando en lambda tenemos que controlar el idioma con la cual el usuario esta haciendo la llamada y en base a ese idioma nuestro skill va a trabajar. el siguiente paso en el de copiar desde el idioma español lo que esta JSon editor, y copiarlo en el idioma ingles. después de eso tenemos que verificar y hacer los cambios necesarios, por ejemplo en nuestro caso, en el slot restart decía tenia el valor reinicia. en este caso vamos a decir restart, entonces cambiamos el valor reinicia con restart. Tambien tenemos que cambiar el Invocation name (porque sera en Ingles) yo le puse guess the number. después de cada cambio tenemos que hacer click en build model para que los cambios tengan efecto. Ahora nos vamos a lambda a nuestra función, qui debemos copiar nuestro principal handler y pegarlo Asi va quedar nuestro handler   exports.handler = function (event, context, callback) {     const alexa = Alexa.handler(event, context, callback);     var locale = event.request.locale;         if (locale == 'en-US'){           alexa.registerHandlers(UShandlers);       } else {           alexa.registerHandlers(EShandlers);       }       alexa.execute(); }; y ahora vamos a tener 2 handler uno en Espanol y uno en Ingles y vamos a sostituir const handlers = { ——> con este const EShandlers = { y creamos otro handler const UShandlers ={ y aqui pegamos el anterior, solo tenemos que traducir donde Alexa responde. y donde controla el valor reinicia y lo cambiamos con restart. para mas información pueden ver el video:   Corrigiendo error en el código [números mayores de 100] En el código he hecho un cambio por que gracias a un usuario que comento en youtube me preguntaba que si decía un numero mas alto de 100 daba error con ? entonces para resolver ese problema en la parte donde controlamos y si el numero que ha dicho el usuario es o no el numero que Alexa esta pensando agregamos un if donde controlamos si el numero es mayor de 100 debe repetir. así quedaría mi if   if(this.attributes['guessNumber']==getNumber){                              this.emit(':tell','Ganaste,  El numero era '+ this.attributes['guessNumber'] + ', Muy bien sigue asi ');                                 }else if(getNumber>100){                                     this.emit(':ask','el numero es mayor de 100 porfavor di un numero entre 1 y 100');              }              else if(this.attributes['countContainer']==7){ // aqui controla si  hemos llegado al maximo de nuestros intentos                                     this.emit(':tell',' Perdiste, el numero era '+this.attributes['guessNumber']+ ' lo siento vuelve a intentar, di alexa empieza adivina el numero ');                             }              else if (this.attributes['guessNumber']<getNumber){// la condicion si el numero que hemos dicho es menor                                       this.emit(':ask', getNumber+ ', es muy alto, prueba un numero menor');                                 }                    else{//la condiciopn si el numero que hemos dicho es mayor                       this.emit(':ask', getNumber+ ', es muy bajo, prueba un numero mas alto.');                    }              },
Show less
Show full summary Hide full summary