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