I have a multilingual app with primary language English and secondary language Arabic.
I am calling setLocale() in the onCreate() of every
public void setLocale(final Context ctx, final String lang) {
AppSettings.getInstance(ctx).save(PrefKeys.language, lang);
final Locale loc = new Locale(lang);
Locale.setDefault(loc);
final Configuration cfg = new Configuration();
cfg.locale = loc;
ctx.getResources().updateConfiguration(cfg, null);
}
Change to English: setLocale(getActivity(), "en";
Change to Arabic : setLocale(getActivity(), "ar");
After this you need to restart the application to get the Language change effects.