#android #android_sdk
Как лучше реализовать смену языка в при разработке приложений под Android, если это какие-нибудь нестандартные языки (например, диалекты китайского или устаревший русский)? Такие языки в принципе не логично настраивать автоматически, потому меня в этом вопросе интересуют две вещи: Как правильно в данном случае (т. е. ручная смена языка без локали) создать res-файл с дополнительным языком? Наверняка не так же, как обычно. Как лучше активировать этот язык через приложение? Понятно, что надо будет создать соответствующий пункт в настройках, но каком принципе следует создать метод, сменяющий язык интерфейса?
Ответы
Ответ 1
Вы можете создавать свои собственные локали. И работать с ними как со стандартными, как в плане ресурсов так и кода. Например создадим локаль "ru_MY". Пример переключения локалей есть на кртинке. но лучше приведу его кодом // set your locale try { Constructorconstructor = Locale.class.getConstructor(String.class, String.class); constructor.setAccessible(true); Locale locale = constructor.newInstance("ru", "MY"); // <-- you locale (for example ru_MY) Locale.setDefault(locale); Configuration config = getBaseContext().getResources().getConfiguration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); } catch (Throwable e) { e.printStackTrace(); } PS не забуде что диалект и страна разграничиваются буквой "r" values-ru-rMY
Комментариев нет:
Отправить комментарий