Получение алфавита языка из Locale в Java

Я делаю интернационализированное приложение на Java. Мне нужен список всех букв языка, начиная с локали. Есть несколько вопросов, таких как Алфавитная константа в Java? или Создать алфавитный список из списка: Java, который затрагивает проблему, но мне интересно, есть ли класс Utils или что-то в этом роде где он уже определен и где я могу получить список символов или строку, содержащую все буквы алфавита языка по его локали.


person Afefefefefef Bsfcrev    schedule 29.05.2015    source источник


Ответы (2)


Вы можете подробно ознакомиться с этой библиотекой и методами, com.ibm.icu.util.LocaleData. Передайте аргумент как Locale.ENGLISH, чтобы получить алфавиты английского языка.

person Saba Hassan    schedule 29.05.2015
comment
Вот спойлер: com.ibm.icu.util.ULocale ulocale = new com.ibm.icu.util.ULocale(java.util.Locale.forLanguageTag("pl")); com.ibm.icu.util.LocaleData.getExemplarSet(ulocale,com.ibm.icu.util.LocaleData.ES_STANDARD); это возвращает: [a-pr-uwyzóąćęłńśźż] - person Bryn; 21.05.2017

Здесь есть несколько проблем.

Во-первых, я должен отметить, что есть много языков, которые не являются алфавитными. Очевидно, китайский или японский являются примерами идеографических языков. К сожалению, будет очень сложно, почти невозможно составить список всех символов этих языков.

Во-вторых, хотя общий репозиторий данных локали и, как следствие, ICU имеют предопределенные наборы примеры указателя и пример символов эта информация далека от полной.

В-третьих, есть языки, в которых используется более одного скрипта (система письма). В зависимости от источника вашей локали вы можете знать или не знать, какие символы должны отображаться.

Наконец, трудно дать вам правильный ответ, если вы не предоставили свой вариант использования. Дизайн вашего приложения может накладывать серьезные ограничения на удобство использования или локализацию...

person Paweł Dyda    schedule 30.05.2015
comment
Спасибо, но на самом деле мне очень легко дать правильный ответ, так как мне просто интересно, может ли кто-нибудь указать мне на то, что я описал, а не решить все мои проблемы. - person Afefefefefef Bsfcrev; 03.06.2015