Ответ 1
Правильный способ, как это сделать:
Resources.getSystem().getAssets().getLocales()
В каком-то проекте мы можем иметь эту ситуацию
Как получить программный список поддерживаемых языков этим приложением/проектом? В результате мне нужен строковый массив, подобный этому
{ "en", "bg", "bs", "da", "de", "hr", "it", "nl", "pl", "pt", "sk", "sr", "tr" }
Конечно, я могу жестко записать его, набрав его, но я полагаю, что код может и должен это делать.
И зачем мне это нужно - у меня есть отдельная библиотека, которая занимается локализацией, мгновенной сменой пользовательского интерфейса после выбора нового языка и т.д. Приложение должно указать библиотеку, какие языки она поддерживает. И приятно добавить новый xml для нового языка без изменения кода (обновление этого жестко запрограммированного списка).
Правильный способ, как это сделать:
Resources.getSystem().getAssets().getLocales()
этот код может помочь:
String lang =getApplicationContext().getResources().getConfiguration().getLocales().toLanguageTags();
String langs[] = lang.split(",");