Articles of сообщество

Андроид локали беспорядочно изменяет свое значение по умолчанию

У меня есть одно действие, и в onCreate я загружаю язык из настроек и устанавливаю локаль следующим образом: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String lang = PreferenceManager.getDefaultSharedPreferences(this).getString("locale", "en"); Locale newLocale = new Locale(lang); Locale.setDefault(newLocale); Configuration config = new Configuration(); config.locale = newLocale; final Resources res = getResources(); res.updateConfiguration(config, res.getDisplayMetrics()); } Я также переопределяю […]

Как восстановить стандартную локаль приложения Android

У меня есть это приложение для Android, которое локализовано на нескольких языках. Если соответствующая строка для локали устройства существует, приложение автоматически отображает ее. Все идет нормально. Затем я хочу разрешить пользователям приложения переключаться на один из языков, которые я предоставил. Я могу сделать это, переопределив языковой стандарт по умолчанию. Здесь нет проблем. Вопрос здесь: есть […]

Как определить, является ли язык английским (все варианты) на Android?

Я хочу показать кнопку только для пользователей на английском языке, есть ли способ определить языковые настройки? Я знаю, как получить текущий язык, но я не знаю, сравнивает ли его с Locale.English достаточно, так как должно быть много английских вариаций и т. Д. Кто-нибудь это делает?

Выбор языка для упрощенного китайского языка

Как я могу получить упрощенное китайское описание (简体)? Из доступного языкового стандарта Locale.SIMPLIFIED_CHINESE ни один метод не возвращает это описание: getDisplayLanguage() возвращает правильное имя языка, но без варианта. getDisplayName() возвращает правильное имя языка и страну, но также и без варианта. getDisplayVariant() возвращает пустую строку. Я также попытался построить новый Locale используя различные конструкторы, также безрезультатно. […]

Локализация Android

Следующий код для изменения языка приложения на испанский язык работает на некоторых устройствах, но в некоторых устройствах он увеличивает (масштабирует) представления в приложении. У кого-нибудь есть решение? Configuration config = getResources().getConfiguration(); // change this to a different Locale than your device Locale locale = new Locale("es", "es_ES"); config.locale = locale; Locale.setDefault(locale); getBaseContext().getResources().updateConfiguration(config, getResources().getDisplayMetrics()); Log.i("onSelected..", Locale.getDefault().getCountry()); […]

Проверка локального массива Android-массива

Мне было интересно, если кто-нибудь нашел хороший способ проверить строковые массивы в каталоге res / values. Я создаю код, используя стандартную локаль и могу иметь ресурс чего-то вроде <string-array name="array_example1"> <item>One</item> <item>Two</item> <item>Three</item> </string-array> Затем, когда переводчики для приложения выполняют свои переводы, они также создают строковый массив. Иногда, если один перевод отстает от другого, файлы […]

Получить название страны из кода страны

Мне нужно получить полное название страны из кода страны. Например, для Нидерландов мне понадобится the Netherlands из кода страны NL . Я думал, что смогу сделать это с помощью Locale : Locale loc = new Locale("NL"); loc.getCountry(); Но loc.getCountry(); пусто. Любая идея о том, как это сделать, пожалуйста? Заранее спасибо!

Почему у Android есть собственный способ получить текущую локаль?

Документация на Android здесь http://developer.android.com/guide/topics/resources/localization.html объясняет, что вы можете получить текущую локаль с помощью этого метода: context.getResources().getConfiguration().locale Кажется, Java уже предоставляет эту информацию в виде этого метода: java.util.Locale.getDefault() Итак, почему разработчики Android представили другой способ получить локаль? Выделяли ли эти две строки кода разные результаты при одновременном выполнении бок о бок?

Как я могу получить код страны своего Android-телефона без использования GPS?

Андроид-мобильник действительно хорошо знает, где он находится – но есть ли способ вернуть страну чем-то вроде кода страны или названия страны? Не нужно знать точное местоположение GPS – код страны или имя достаточно, и я использую код для этого: String locale = context.getResources().getConfiguration().locale.getCountry(Locale.getDefault()); System.out.println("country = "+locale); Но он дает мне код «США», Но мое устройство […]

Android получит локализацию устройства

После установки моей программы Android я проверяю локализацию устройства: String deviceLocale=Locale.getDefault().getLanguage(); Если deviceLocale находится внутри моих поддерживаемых языков (английский, французский, немецкий), я не меняю языковой стандарт. Но скажем, например, если я не поддерживаю язык устройства: например, испанский. Я устанавливаю текущий язык на английский, потому что большинство людей может понять английский частично. Locale locale = new […]