Как получить программный список поддерживаемых языков в проекте Android (НЕ)

В каком-то проекте мы можем иметь эту ситуацию

enter image description here

Как получить программный список поддерживаемых языков этим приложением/проектом? В результате мне нужен строковый массив, подобный этому

{ "en", "bg", "bs", "da", "de", "hr", "it", "nl", "pl", "pt", "sk", "sr", "tr" }

Конечно, я могу жестко записать его, набрав его, но я полагаю, что код может и должен это делать.

И зачем мне это нужно - у меня есть отдельная библиотека, которая занимается локализацией, мгновенной сменой пользовательского интерфейса после выбора нового языка и т.д. Приложение должно указать библиотеку, какие языки она поддерживает. И приятно добавить новый xml для нового языка без изменения кода (обновление этого жестко запрограммированного списка).

Ответ 1

Правильный способ, как это сделать:

Resources.getSystem().getAssets().getLocales()

Ответ 2

этот код может помочь:

    String lang =getApplicationContext().getResources().getConfiguration().getLocales().toLanguageTags();
    String langs[] = lang.split(",");