49 - Localización y archivo strings.xml

Ya se encuentra disponible el nuevo tutorial para aprender android con el nuevo entorno Android Studio propuesto por Google y que remplaza a Eclipse.


Hemos visto si queremos tener traducida nuestra aplicación a varios idiomas debemos utilizar el concepto de internacionalización. Pero hay muchos casos donde queremos hilar más fino. Por ejemplo el ingles de Estados Unidos no es exactamente igual que el ingles de Inglaterra o de Autralia. Para estas situaciones podemos crear varios archivos strings.xml para distintas localidades que tienen el mismo idioma.

Problema:

Modificar el proyecto025 de tal manera que muestre su interfaz no solo para el idioma por defecto (español) e ingles, sino para el portugués de Brasil y el portugués de Portugal.

Las abreviaturas para los distintos lenguajes los podemos ver en la página ISO 639-1 Code (segunda columna) y para obtener las distintas regiones utilizamos la tabla ISO 3166-1-alpha-2

Luego debemos crear una carpeta con el nombre values, luego un guión y el código de internacionalización, finalmente otro guión el caracter r y finalmente el código de región.

En nuestro problemas crearemos dos directorios llamados:

values-pt-rBR
values-pt-rPT

Luego de crear estos dos directorios copiaremos el archivo strings.xml de la carpeta values y procederemos a traducirlo al portugués de Brasil y al portugués de Portugal.

Luego de crear las dos carpetas copiar el archivo strings.xml y proceder a traducirlo primero al portugués de Brasil y luego en la otra carpeta traducirlo al portugués de Portugal, solo nos resta compilar y probar la aplicación.

Para probar debemos acceder al emulador de Android y configurarlo en portugués de Brasil (tecla home -> tecla menu -> configuración > Idioma y teclado > Seleccionar idioma -> "Portugués (Brasil)

strings.xml

Seguidamente ejecutar la aplicación y ver como resultado que tenemos los mensajes que definimos en el archivo strings.xml asociado con el portugués de Brasil:

strings.xml

Lo mismo podemos luego configurar el idioma portugués de Portugal y obtener como resultado en una nueva ejecución del programa:

strings.xml

Retornar