Как получить скрипт из объекта Locale на Android?

Из того, что я вижу, в классе Android Locale ничего не говорится о сценарий, только язык, страна и вариант.

В то время как класс Java SE Locale упоминает язык, страна, скрипт, вариант и расширение и, конечно же, метод getScript(), чтобы получить скрипт.

Итак, мой вопрос: Как получить скрипт из объекта Locale на Android?

или есть другой способ получить скрипт?

Мне нужно, чтобы иметь возможность различать традиционный китайский (zho-Hant) и упрощенный китайский (zho-Hans), для этого мне нужно иметь возможность получить сценарий из локали, например. Хант или Ганс для языка жо

сценарий =

Код сценария альфа-4 ISO 15924. Вы можете найти полный список допустимых кодов сценариев в реестре языковых подтегов IANA (ищите «Type: script»). Поле script нечувствительно к регистру, но Locale всегда канонизируется до регистра заглавий (первая буква в верхнем регистре, а остальные буквы в нижнем регистре). Правильно сформированные значения алфавита имеют вид [a-zA-Z]{4} Пример: "Latn" (латиница), "Cyrl" (кириллица).


person Alex Bitek    schedule 03.10.2013    source источник
comment
См. stackoverflow.com/questions/16447807/ Тем не менее хотелось бы лучшего ответа.   -  person Brent    schedule 17.12.2013


Ответы (1)


Эта функция не встроена в Android SDK. Вместо этого я написал версию, которую вы можете использовать, доступную здесь. По сути, он берет таблицу из приведенного выше ответа и переносит ее в Map<String, Map<String, String>>, содержащую полезную информацию, затем используется простой метод поиска. Чтобы использовать этот класс в своем проекте, просто вызовите:

String script = LocaleUtilities.getScript(Locale.getDefault());

чтобы получить скрипт для локали по умолчанию.

person Phil    schedule 20.12.2013