Локализовать приложение для Android, чтобы я мог переключать локаль внутри приложения

Как локализовать приложение, чтобы он использовал конкретную локаль независимо от того, какой язык установлен на устройстве? Я хочу, чтобы пользователи могли устанавливать язык по своему выбору.

Пока у меня такой код в моем классе Application:

@Override public void onCreate() { //Set locale String l = Preferences.getLocale(getApplicationContext()); if (!l.equals("")) { Locale locale = new Locale(l); Locale.setDefault(locale); Configuration config = getBaseContext().getResources().getConfiguration(); config.locale = locale; getBaseContext().getResources().updateConfiguration( config, getBaseContext().getResources().getDisplayMetrics()); } LogData.InsertMessage(getApplicationContext(), "Application started"); } 

Проблема, которая у меня есть, заключается в том, что кажется, что я показываю в установочном локали просто отлично (TextViews). Подписи к меню и тосты попадают в стандартную локаль.

Есть ли 1-2-3 о том, как заставить его работать правильно? Я использую версию 2.2

В этом сообщении объясняется, как заставить локализацию в вашем приложении.

Хорошо, я понял, почему у меня возникла эта проблема. Мне нужно было переопределить onConfigurationChanged в моем классе приложения. Это гораздо более элегантное решение, чем указание локали на каждом Activity .