Как изменить язык, который будет загружен в Android для отладки? - PullRequest
1 голос
/ 29 марта 2012

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

РЕДАКТИРОВАТЬ: я не хочу менять это вручную, я хочу код, который позволит мне автоматизировать мои тесты.

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Я сделал что-то подобное в моем методе onCreate:

// LOCALE
if (DEBUG == true)
{
    Misc.setLocale(this, "en"); // change "en" to "fr" for french
}

А вот метод setLocale:

public static void setLocale(Context context, String language)
{
    final Locale locale = new Locale(language);
    Locale.setDefault(locale);
    final Configuration config = new Configuration();
    config.locale = locale;
    context.getResources().updateConfiguration(config,
            context.getResources().getDisplayMetrics());
}

Теперь я могу очень быстро менять языки, я неМне не нужно беспокоиться об эмуляторе или настройках моего устройства.Я также не могу забыть об этом из-за проверки значения DEBUG.

0 голосов
/ 29 марта 2012

просто поменяйте язык на вашем эмуляторе.если вам нужно запускать автоматические тесты для определенных языков, просто определите отдельные AVD, настроенные для каждого языка.

любой код, который вы вызываете, просто вызовет то же самое, что и при изменении настроек.

...