2012-06-07 17 views
6

la mia applicazione suppone 4 lingue. l'utente lo seleziona/la sua lingua. Ma non posso fare per il russo.Localizzazione per il russo in 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()); 

    } 

non conosco dong per il russo;

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

risposta

17

Usando questo constructor è possibile impostare le impostazioni internazionali di russo in questo modo:

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

Ecco un elenco di supported locales da Java. Puoi vedere che "ru" è supportato, ma non testato.

La documentazione dice anche alcune volte il suo meglio per dare la localizzazione di base e l'internazionalizzazione così ho modificato dal

Locale myLocale = new Locale("ru") 

a

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

Ha funzionato. Grazie mille! – enginar

0

Secondo Android documentation for Locale

Questa classe costruttori non fanno il controllo degli errori. Puoi creare un ambiente per le lingue e i paesi che non esistono e puoi creare istanze per combinazioni che non esistono (come "de_US" per "Tedesco come parlato negli Stati Uniti").

Si noti che i dati delle impostazioni internazionali non sono necessariamente disponibili per le impostazioni locali predefinite come costanti in questa classe, ad eccezione di en_US, che è l'unica versione di Java garantita è sempre disponibile.

È anche un errore presumere che tutti i dispositivi abbiano le stesse impostazioni locali disponibili. Un dispositivo venduto negli Stati Uniti sosterrà quasi sicuramente en_US ed es_US, ma non necessariamente locali con la stessa lingua ma diversi paesi (come en_GB o es_ES), né locali per altre lingue (come de_DE). Il contrario potrebbe essere vero per un dispositivo venduto in Europa.

Inoltre la documentazione non elenca le impostazioni internazionali per il russo, quindi è necessario crearne una. Prestare attenzione anche al terzo paragrafo della citazione di cui sopra. Quindi forse è meglio fornire il tuo.

check this SO post pure ha alcuni suggerimenti utili per Locale

Problemi correlati