2012-06-07 21 views
6

mi aplicación admite 4 idiomas. el usuario selecciona su idioma. Pero no puedo hacer por el ruso.Localización para ruso en Android

if (dil.equals("eng")){ 
     Configuration c = new Configuration(context.getResources().getConfiguration()); 
     c.locale = Locale.ENGLISH; 
     context.getResources().updateConfiguration(c,context.getResources().getDisplayMetrics()); 

    } 
    else if (dil.equals("ger")){ 
     Configuration c = new Configuration(context.getResources().getConfiguration()); 
     c.locale = Locale.GERMAN; 
     context.getResources().updateConfiguration(c,context.getResources().getDisplayMetrics()); 

    } 
    else if (dil.equals("rus")){ 
     Configuration c = new Configuration(context.getResources().getConfiguration()); 
     c.locale = Locale.????????; 
     context.getResources().updateConfiguration(c,context.getResources().getDisplayMetrics()); 

    } 
    else 
    { 
     Configuration c = new Configuration(context.getResources().getConfiguration()); 
     c.locale = Locale.getDefault(); 
     context.getResources().updateConfiguration(c,context.getResources().getDisplayMetrics()); 

    } 

i dont know dong for Russian;

c.locale = Locale.????????; 

Respuesta

17

El uso de este constructor se puede establecer la configuración regional a Rusia como esto:

Locale myLocale = new Locale("ru","RU"); 

Aquí está una lista de supported locales por Java. Puede ver que "ru" es compatible, pero no probado.

La documentación dice también algunas veces es mejor dar la localización e internacionalización de base por lo que he editado a partir

Locale myLocale = new Locale("ru") 

a

Locale myLocale = new Locale("ru","RU") 
+0

Ha funcionado. Muchas gracias! – enginar

0

Según Android documentation for Locale

Esta clase constructores hacen ninguna comprobación de errores. Puede crear una configuración regional para idiomas y países que no existen, y puede crear instancias para combinaciones que no existen (como "de_US" para "alemán como se habla en los EE. UU.").

Tenga en cuenta que los datos de configuración regional no están necesariamente disponibles para ninguna de las configuraciones regionales predefinidas como constantes en esta clase, excepto para en_US, que es la única configuración regional que Java garantiza que siempre está disponible.

También es un error asumir que todos los dispositivos tienen las mismas configuraciones regionales disponibles. Es casi seguro que un dispositivo vendido en los EE. UU. Sea compatible con en_US y es_US, pero no necesariamente con las configuraciones regionales con el mismo idioma pero diferentes países (como en_GB o es_ES), ni las configuraciones regionales para otros idiomas (como de_DE). Lo contrario puede ser cierto para un dispositivo vendido en Europa.

Además, la documentación no muestra una configuración regional de ruso, por lo que parece que debe crear una. También preste atención al tercer párrafo de la cita anterior. Entonces quizás sea mejor que proporciones la tuya.

Comprobar this SO post, así que tiene algunos consejos útiles para la configuración regional