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

Я знаю, что уже существует функция Locale.getAvailableLocales () и некоторые другие аналоги, которые возвращают все доступные языки (независимо от того, доступны ли они на вашем мобильном телефоне или нет)

Я ищу способ вернуть только языки, на которых я произвел перевод (т. Е. Если у меня есть 3 значения папок – en, values-es, values-pt; я надеюсь получить ответ: [en, es, pt] , Или [английский, испанский, португальский]

Locale.getAvailableLocales() предоставит вам список доступных в масштабе всей системы локалей. Они используются для форматирования дат, времени, чисел и так далее. Он не имеет ничего общего с вашими файлами локализации приложений.

Я предполагаю, что вы хотите переключать языки во время выполнения, и именно поэтому вы хотите перечислить список языков. Ну, вам, вероятно, нужно создать конкретный файл конфигурации с этим списком и прочитать это во время выполнения. Для добавления файлов L10n потребуется другой шаг – зарегистрировать его в вашем файле конфигурации.
В качестве альтернативы вы можете перечислить каталоги ресурсов (values- <Locale-ID>) и захватить поддерживаемые Locales от их имен, но я не думаю, что это самое элегантное решение. Однако он работает без регистрации …