Configuración regional: onConfigurationChanged no se llama

Quiero que mi idioma cambie dinámicamente y estoy tratando de usar onConfigurationChanged pero no se está llamando. Tengo un MainActivity que crea mi barra de acción y viewpager. El resto de mis páginas son Fragmentos. En mi configuración de configuración tengo un botón para cambiar el idioma a francés.

langChange.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View vi) {
            MainActivity main = (MainActivity)getActivity();
            main.langChange();
        }

});

Luego en mi MainActivity tengo

@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());
    }
}

public void langChange(){
    if(currentLanguage == FRENCH_LANGUAGE){
        locale = new Locale("en");
        Locale.setDefault(locale);
        Configuration c = getBaseContext().getResources().getConfiguration();
        c.locale = locale;
        getBaseContext().getResources().updateConfiguration(c,getBaseContext().getResources().getDisplayMetrics());
        currentLanguage = "English";
    }
    else if(currentLanguage == ENGLISH_LANGUAGE){
        locale = new Locale("fr");
        Locale.setDefault(locale);
        Configuration c = getBaseContext().getResources().getConfiguration();
        c.locale = locale;
        getBaseContext().getResources().updateConfiguration(c,getBaseContext().getResources().getDisplayMetrics());
        currentLanguage = "French";
    }
    actionBar.setSelectedNavigationItem(actionBar.getTabCount() - 1); //This just puts it back to the settings tab
}

losonConfigurationChanged no está siendo llamado. En mi manifiesto tengo:

<activity android:name="MainActivity" android:screenOrientation="portrait" android:configChanges="locale"></activity>

He intentado agregar una o todas estas opcionesorientation|keyboardHidden|screenSize sin éxito

La razón de todo esto es porque quiero cambiar el texto de la barra de acción y el resto del texto una vez que hago clic en el botón. Tengo un archivo de cadenas por separado para el francés.

Cualquier ayuda sería genial.

Respuestas a la pregunta(2)

Su respuesta a la pregunta