Android: Получить язык интерфейса устройства в 3-буквенном формате ISO 639?

Я разрабатываю Android-приложение для мирового рынка, которое (надеюсь!) Будет установлено пользователями, говорящими на разных языках.

Поскольку я хочу настроить язык интерфейса в соответствии с языком устройства, мне нужно приобрести название этого языка в удобном стандартном формате, предпочтительно в 3-буквенном формате ISO 639-2, в котором используется иврит. heb, Английский это eng и испанский spa,

Как я могу получить язык интерфейса Android в 3-буквенном формате ISO 639-2?

2 ответа

Решение

Вы можете использовать этот фрагмент кода:

protected static String lang = Locale.getDefault().getISO3Language();//.substring(0, 2);

Я использую вариант с 2 символами, но я вырезал эту часть, чтобы оставить вам вариант с 3 символами, как требуется.

Список кодов ISO для языков

Как видите, подстрока кода ISO 639-3 (3 буквы) не всегда образует код ISO 639-1 (2 буквы). Также я не рекомендую это. Выберите хеш-таблицу, чтобы получить соответствующий код.

Другие вопросы по тегам