Acceder

Ver la Versión Completa : Boton cambio de idioma en mi aplicacion


demo091
12/10/13, 17:20:20
Buenas tardes,

Tengo una aplicación "El cuento de Koala y Tortu" que he creado y subido al Playstore es un cuento para niños, mi idea es hacerla multiidioma, pero no solo que al bajarla en un pais de habla inglesa se traduzca automáticamante al ingles, eso ya lo tengo.

Lo que quiero es que el usuario dentro del cuento pueda seleccionar el idioma español ó ingles y que al darle se le cambie el texto al idioma seleccionado.

Creo que se puede hacer primero dando permisos en el manifest con "android.permission.CHANGE_CONFIGURATION" , pero luego no se que código tengo que implementar para que se cambie ni como volver luego al idioma original.

Alguien me puede ayudar con este tema?

mocelet
12/10/13, 18:06:49
Esos permisos sirven para cambiar el idioma de todo el móvil, el usuario puede mosquearse un poco si un cuento le cambia la configuración al teléfono y de repente todo le aparece en otro idioma. El texto que tiene que cambiar es el de tu app, no el del resto de Android.

Lo mejor para cambiar de idioma la app sin preocuparte por el idioma del móvil es ignorar completamente el sistema de selección de recursos por idioma de Android y hacerte un pequeño gestor de traducciones propio. Una clase que tenga un método al que le des un nombre que identifique cierta frase, le pases el idioma y te devuelva la frase en cuestión. La implementación ya depende de lo que te resulte más fácil, puedes usar XML e imitar lo mismo que hace Android, ficheros properties, usar hashmaps, etc.

Lo malo de esta solución es que los R.string.xxx ya no te valen para nada porque no los usarías y tendrías que asignar las strings a los textview que tengas en los onResume de tus activities de forma manual.

Hace tiempo en stackoverflow señalaban una opción aparentemente más fácil pero que no funcionaba del todo bien http://stackoverflow.com/questions/2900023/change-language-programatically-in-android

demo091
12/10/13, 18:13:42
Ya se que se cambia todo el idioma del telefono, pero mi idea era que al salir de la aplicación esta volviera a dejar el idioma del telefono como estaba...

Voy a echar un vistazo a la opción de stackoverflow que comentabas

A ver si veo algo claro...

Muchas gracias!