/ / ¿Cómo puedo cambiar el idioma de toda la aplicación con un solo clic? - android, android-studio, android-activity, android-spinner

¿Cómo puedo cambiar el idioma de la aplicación completa con solo un clic? - android, android-studio, android-activity, android-spinner

tengo un Spinner con tres opciones de idioma en la página de inicio de sesión. Quiero que cuando el usuario elija un idioma suponga "Persa" Idioma El idioma de toda la aplicación debe cambiar. Soy capaz de cambiar el idioma actual. Activity solamente. ¿Cómo puedo cambiar el idioma de toda la aplicación.

Respuestas

2 para la respuesta № 1

Cambia el lenguaje programáticamente en Android

Esta es la forma adecuada de cambiar la configuración regional de la aplicación:

Hay algunas dificultades que debes superar para cambiar el lenguaje mediante programación.

1.) Su aplicación será no recuerdo tu cambio de idioma después de que se cierre o se vuelva a crear durante el cambio de configuración.

2.) Deberías actualizar la interfaz de usuario actualmente visible correctamente de acuerdo con el idioma seleccionado.

Solución

"LocaleHelper”Es la solución que necesitas. Solo tiene que inicializar la configuración regional en la clase principal de su aplicación. Después de eso todos los cambios de idioma persistirán.

Después de los cambios recientes en la versión de la API de Android 24 (Nougat) necesitamos anular attachBaseContext para reflejar los cambios.

Abajo se usa el método para cambiar el idioma de la aplicación:

private static boolean updateResources(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);

Resources resources = context.getResources();

Configuration configuration = resources.getConfiguration();
configuration.locale = locale;

resources.updateConfiguration(configuration, resources.getDisplayMetrics());

return true;
}

Encuentra más detalles en el siguiente enlace:

Cambiando la configuración de Android mediante programación