Как узнать язык текущего приложения, но не язык устройства?
Приложение не имеет языка. Следовательно, «текущий язык приложения» отсутствует.
Я в замешательстве, так как мое приложение не поддерживает fr-be
Приложение не поддерживает "язык.
Приложение имеет строковые ресурсы. Эти строковые ресурсы могут включать переводы на несколько языков. Каждый строковый ресурс имеет свой собственный набор переводов на свой собственный набор языков. Таким образом, один из ваших собственных строковых ресурсов может иметь переводы только для fr, fr-CA или fr-CH, но строковый ресурс, который вы получаете из библиотек, может иметь переводы для разных наборов языков.
Итак, как я могу получить то, что мое приложение использует прямо сейчас?
Ваше приложение ничего не использует.
То, что Android использует в качестве перевода для строкового ресурса, определяется в время выполнения для этого отдельного строкового ресурса во время его запроса. Вполне возможно, что для 100 различных строковых ресурсов будет сделано 100 вариантов выбора языка на основе доступных переводов в приложении и настроек языка на уровне устройства пользователя.
Это должно быть что-то из "fr , fr-CA или fr-CH "
Для любого заданного строкового ресурса он может быть одним из них. Это может быть от fr-BE
, если строковый ресурс происходит из библиотеки, которая предлагает перевод fr-BE
. Это может быть из исходного набора res/values/
по умолчанию, если у строкового ресурса нет лучшего перевода.
Но главное - выбор языка для каждого отдельного строкового ресурса , не для всего приложения.