Anuncios

Bienvenidos sean a este post, hoy agregaremos multiples idiomas para nuestro juego, en este caso vamos a agregar soporte para el ingles y el portugues.

Anuncios

En este post vimos como era agregar mas idiomas para adaptarnos a la localizacion de los distintos clientes que pueden abrir nuestra aplicacion y para ello iremos a nuestro proyecto donde abriremos el archivo strings.xml ubicado en la carpeta res -> values y le agregaremos la siguiente linea:

<string name="inicioTexto">Toca para jugar</string>
Anuncios

Con esto agregado podemos pasar a nuestro codigo para aplicar esta modificacion, para ello iremos a la clase SnakeJuego y nos dirigiremos al metodo dibujar donde modificaremos la siguiente linea:

mCanvas.drawText("Toca para Jugar!",20,300,mPincel);
Anuncios

De la siguiente forma:

                mCanvas.drawText(getResources()
                        .getString(R.string.inicioTexto),
                        20,300,mPincel);
Anuncios

En este caso sacamos solamente el literal de “Toca para Jugar” y lo reemplazamos por esta linea:

getResources().getString(R.string.inicioTexto)
Anuncios
Anuncios

El primer metodo sera para que busque entre todos los recursos, luego por medio de getString le indicaremos cual texto debe conseguir, si lo probamos deberia funcionar igual que antes, nuestro siguiente paso sera agregar los nuevos recursos para strings en otros idiomas, recuerden deben hacer click con el boton derecho sobre la carpeta values y seleccionen Values resource file, luego completan los siguiente campos:

  • File name: strings
  • Source set: main
  • Directory name: values
Anuncios
Anuncios

En los recursos inferiores buscan locale y presionen el boton con el signo >> donde apareceran todas las localizaciones, en la primera seleccion en:english y en el otro Any Region, se puede ser mas especifico pero lo mas recomendable es usar esta opcion, presionen Ok para generar el nuevo archivo, debemos repetir el mismo procedimiento pero ahora seleccionen pt:portuguese, una vez generados los dos nuevos archivos vamos a agregarles un nuevo codigo, vayamos al strings.xml para el habla ingles y modifiquemos el codigo con el siguiente:

en/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="inicioTexto">Tap to Play!</string>
</resources>
Anuncios

Ahora pasemos al archivo para el lenguaje portuguese y agregamos el siguiente codigo:

pt/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="inicioTexto">Toque para Jogar!</string>
</resources>
Anuncios

Con esto ya tenemos cubierto los dos lenguajes, probemos de compilarlo y ver como trabaja en el siguiente video

Anuncios

En el video podemos ver como nuestro mensaje se modifica de acuerdo a la localizacion que estemos utilizando, antes de terminar les recuerdo que Android recomienda como buena practica el ingresar todos los textos que usaremos en la aplicacion dentro del archivo strings.xml y lo mismo para nuestros distintos lenguajes.

Anuncios
Nota: La buena practica es utilizar strings.xml pero en los cursos o cuando se practica usualmente no se utiliza por un tema de practicidad, esta practica es siempre mas util cuando tengamos necesidades como las vistas en este post. 
Anuncios

En resumen, hoy hemos agregado la posibilidad de tener nuestro juego en varios idiomas, siempre dependiendo de la ubicacion del usuario, tambien hemos visto como se deben almacenar dichos textos para que puedan ser recuperados e ingresados por nuestro codigo, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00