Aplicaciones multi-idiomas en Android
Posted by jbeer | Filed under android
Ahora más que nunca, gracias a Internet, podemos dar a conocer a cualquier rincón del mundo, las aplicaciones software que desarrollamos.
Como desarrollador de aplicaciones de Android, me gustaría que mis sistemas llegasen al mayor número de personas posible y claro está, no me gustaría que esas personas dejasen de utilizar una aplicación, que les puede ser interesante, por el hecho de que no entiendan el idioma de dicha aplicación.
Podemos hacer varias cosas. Una de ellas, es montar todos los elementos (textos, botones, imágenes) en un solo idioma: inglés, que bueno, más o menos todos nos defendemos con el idioma…aunque seguramente mucha gente no se descargaría la aplicación por eso mismo. “¿Y no está en español?” Es un clásico.
Así que pensando en todo el mundo, y en los posibles y futuros “consumidores” de tu aplicación ( quien te dice a ti, que un señor en Hong-Kong quiera usar tu aplicación, pero le gustaría verla en su idioma ), usemos todo el potencial que nos ofrece Android para este tipo de cosas. Y es que podemos desarrollar nuestra aplicación en cualquier idioma, de forma paralela. Veamos como hacerlo.
Para empezar, tenemos que saber como cambiar el idioma de nuestro teléfono.
Ajustes->Idioma y país.
Desde aquí podemos cambiar a los siguientes idiomas (Hasta ahora):
Alemán (de diferentes regiones)
Inglés (de diferentes regiones)
Español
Italiano
Francés
Neerlandés
(Curioso este último)
Confío en que con el tiempo se añadan nuevos idiomas.
Así que bueno, por ahora, solo podremos tener esos idiomas , ya que el idioma de nuestra aplicación dependerá de la configuración regional del teléfono.
Centrémonos en Android.
Si recordamos como es la arquitectura de una aplicación Android, teníamos una carpeta donde almacenábamos las cadenas de texto usadas en en las pantallas de la aplicación.
/res/values/
donde el fichero en cuestión era string.xml
teníamos también una carpeta donde almacenábamos los elementos gráficos (Dibujos, iconos, fondos)
/res/drawable/
Ahora tenemos que tener en cuenta los códigos de representación de los nombre de los idiomas, aquí nos fijamos en la abreviatura de cada idioma.
Si queremos tener nuestra aplicación en francés, deberemos agregar a la carpeta de /res varias carpetas nuevas,
values-fr
drawable-fr
En estas carpetas guardamos los strings en francés (values-fr) y las imágenes (drawable-fr).
Así pues, por cada idioma, vamos añadiendo nuevas carpetas con las diferentes abreviaturas del idioma, y vamos guardando ahí todos los elementos de la aplicación, pero traducidos al correspondiente idioma.
Para las cadenas de texto es realmente fácil, ya que tenemos un XML con una estructura “campo-valor” donde el campo lo dejamos tal y como está y lo único que modificados es el valor. Así que cada vez que se llame a ese string, desde la aplicación, el teléfono, dependiendo de su configuración de idioma interna, se irá a una carpeta u otra a obtener el string correspondiente.
Ojo! Es muy conveniente agregar y usar las cadenas de texto en el fichero string.xml, si metemos las cadenas de texto manualmente en la aplicación, podríamos vernos en problemas en caso de cambiar un texto, o traducir el sistema completo.
One Response to “Aplicaciones multi-idiomas en Android”
-
bet Says:
August 3rd, 2009 at 3:18 amexcelente!!!!XD










