Android utiliza una serie de sufijos para expresar recursos
alternativos. Estos sufijos pueden hacer referencia a la orientación del
dispositivo como ya hemos visto, al lenguaje, la región, la densidad de
píxeles, la resolución, el método de entrada…
Por ejemplo, si queremos traducir nuestra aplicación al
español, inglés y francés. Siendo el español el usado por defecto (se define en
los ajustes del dispositivo), crearíamos tres versiones del fichero strings.xml y lo guardaríamos en los
directorios
- res/values/strings.xml
- res/values-en/strings.xml
- res/values-fr/strings.xml
Pudiendo también indicar varios sufijos concatenados, para
la región por ejemplo
- res/values-en-rUS/strings.xml
- res/values-en-rUK/strings.xml
Sabiendo esto, y con lo aprendido sobre los directorios del
anterior tema, vamos a generar una aplicación multilenguaje.
Creamos la estructura de carpetas necesaria para traducir al
inglés y francés según lo descrito anteriormente, de modo que queden tal que
así
Abrimos el strings.xml de los tres directorios y escribimos
el texto de cada etiqueta en el idioma que le corresponda, dándole un atributo name a cada etiqueta para poder
referenciarla más tarde desde el menú de propiedades de cada elemento. De esta
manera simplemente indicando un cambio de idioma podremos realizar la
traducción en nuestra aplicación.
Inglés
Francés
Ahora, volviendo al diseño gráfico, en la propiedad text de
los elementos que queramos traducir, pulsamos sobre los tres puntos para
indicar un texto ya definido.
Y elegimos el nombre que le habíamos indicado a nuestra
etiqueta anteriormente.
Por último, para probarla, vamos al botón de
internacionalización y seleccionamos el idioma que queramos para comprobar si
funciona la traducción correctamente.
Y si lo ejecutamos podemos ver que se traduce al idioma
elegido.
0 comments:
Publicar un comentario