Изменение BlackBerry Locale - PullRequest
1 голос
/ 17 января 2012

Мне нужно переключить Locate в моем приложении с арабского на английский.

У меня есть следующий код для переключения локали:

if (Locale.getDefault() == Locale.get(Locale.LOCALE_ar, null)) {
    Locale.setDefault(Locale.get(Locale.LOCALE_en, null));  
} else {
    Locale.setDefault(Locale.get(Locale.LOCALE_ar, null));
}

И в моем приложении у меня есть следующие файлы ресурсов:

  • appName.rrh
  • appName.rrc
  • appName_ar.rrc
  • appName_en.rrc

И у меня есть кнопка, которая использует локализованную строку следующим образом:

subscribeButton = new ButtonField(res.getString(LANG), ButtonField.CONSUME_CLICK);

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

1 Ответ

3 голосов
/ 17 января 2012

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

subscribeButton.setLabel(res.getString(LANG));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...