2011-12-07 25 views
5

Digamos que tengo dos archivos strings.xml, uno para inglés y otro para danés.¿Hay alguna manera de anular strings.xml en res/values?

Si bien la mayoría de los usuarios probablemente estén contentos con las traducciones danesas, no es poco probable que algunos prefieran las traducciones al inglés.

¿Hay alguna manera de anular la elección predeterminada de recursos de cadenas de Android? Me encantaría tener una configuración que permita a los usuarios ignorar cualquier recurso de cadena específico del idioma y volver a inglés por defecto.

Respuesta

5

Indica tu predeterminado 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

Muchas gracias! Echaré un vistazo a esta y a la otra solución similar, y veré qué funciona mejor en mi caso :) –

1

Una opción sería cambiar la configuración regional dentro de su aplicación

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

¡Muchas gracias! Echaré un vistazo a esta y a la otra solución similar, y veré qué funciona mejor en mi caso :) –

Cuestiones relacionadas