2011-12-07 10 views
5

Diciamo che ho due file strings.xml - uno per l'inglese e uno per il danese.C'è un modo per sovrascrivere strings.xml in res/values?

Mentre molti utenti sarebbero probabilmente contenti delle traduzioni danesi, non è improbabile che alcuni preferiscano le traduzioni in inglese.

Esiste un modo per ignorare la scelta predefinita di risorse stringa di Android? Mi piacerebbe avere un'impostazione che consenta agli utenti di ignorare qualsiasi risorsa di stringa specifica per la lingua e ripristinare il valore predefinito in inglese.

risposta

5

Impostare predefinito Locale-English:

public class MyApplication extends Application 
{ 
    private Locale locale = null; 

    @Override 
    public void onConfigurationChanged(Configuration newConfig) 
    { 
     super.onConfigurationChanged(newConfig); 
     if (locale != null) 
     { 
      newConfig.locale = locale; 
      Locale.setDefault(locale); 
      getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics()); 
     } 
    } 

    @Override 
    public void onCreate() 
    { 
     super.onCreate(); 

     Configuration config = getBaseContext().getResources().getConfiguration(); 

     locale = new Locale("en-US"); 
     Locale.setDefault(locale); 
     config.locale = locale; 
     getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 

    } 
} 
+0

Grazie mille! Darei un'occhiata a questa e all'altra soluzione simile e vediamo cosa funziona meglio nel mio caso :) –

1

Una possibilità potrebbe essere quella di modificare le impostazioni internazionali all'interno della vostra app

Changing Locale within the app itself

Locale appLoc = new Locale("en"); 
Locale.setDefault(appLoc); 
Configuration appConfig = new Configuration(); 
appConfig.locale = appLoc; 
getBaseContext().getResources().updateConfiguration(appConfig, 
     getBaseContext().getResources().getDisplayMetrics()); 
+0

Grazie mille! Darei un'occhiata a questa e all'altra soluzione simile e vediamo cosa funziona meglio nel mio caso :) –

Problemi correlati