Фон
Сегодня я заметил, что в приложении Google Contacts , если у вас есть контакты Engli sh и иврит, и вы переключаетесь на язык Engli sh в качестве главный, первые контакты в Engli sh:

Но, если вы переключитесь на иврит в качестве основного, первые контакты на иврите:

Проблема
Я не вижу, какие функции используются для этого. Я пытался найти в Inte rnet об этом поведении и о том, как это делается, но не смог его найти.
Сравнение значений символов всегда будет возвращать один и тот же результат, поэтому порядок здесь должен быть более Dynami c.
То, что я нашел
Я думал, что это поможет мне:
val unicodeLocaleKeys = Locale.getDefault().unicodeLocaleKeys
Но он всегда возвращает пустой набор.
Я также искал такую функцию в таких классах, как Character, Unicode * и String. Я не думаю, что он там существует.
Вопрос
Как приложение Google Contacts может сортировать контакты по текущим языковым настройкам?
Возможно ли получить весь набор символов, используемый заданной c локалью?
Может быть, возможно сравнивать символы, задавая порядок приоритетов локалей (пользователи могут выбирать несколько локалей)?