Как я могу определить, что алфавит для локали в Java?

StackOverflow https://stackoverflow.com/questions/417377

  •  03-07-2019
  •  | 
  •  

Вопрос

Я хотел бы определить, какой алфавит для данной локали, предпочтительно на основе значений заголовка браузера Accept-Language. Кто-нибудь знает, как это сделать, используя библиотеку, если это необходимо?

Это было полезно?

Решение

взгляните на [LocaleData.getExemplarSet] [1]

например для английского это возвращает abcdefghijklmnopqrstuvwxyz

[1]: http://icu-project.org/apiref/icu4j/com/ibm/icu/util/LocaleData.html#getExemplarSet (com.ibm.icu.util.ULocale , int)

Другие советы

Если вы просто хотите узнать имя соответствующего набора символов для языкового стандарта пользователя, вы можете попробовать nio.CharSet class.

Если вы действительно хотите использовать заголовок Accept-Language, то есть старый статья О'Рейли по этому вопросу, в которой представлен довольно удобный класс под названием

Это зависит от того, насколько конкретно вы хотите получить. Одним из мест, где можно посмотреть, было бы «Подавить сценарий». свойства в реестре языков IANA .

Некоторые языки имеют несколько алфавитов " алфавиты " это может быть использовано для письма. Например, азербайджанский язык может быть написан латинским или арабским шрифтом. Большинство языков, таких как английский, написаны почти исключительно в одном сценарии, поэтому правильный сценарий само собой разумеется и должен быть «подавлен». в языковых кодах.

Итак, глядя на запись для русского языка, вы можете сказать, что предпочтительным шрифтом является кириллица, а для эфиопского - амхарский. Но немецкий, норвежский и английский не более конкретны, чем "латиница". Таким образом, с помощью этого метода вам будет трудно скрыть умлауты и шипы от американцев или предложить какой-нибудь сценарий кашмирскому писателю.

Это английский ответ, написанный на & # 197; rhus. Вчера я слышал, как некоторые немцы говорят «Bl & # 246; dheit, & # 224; предложение, это дум ". Однако один из них был одет в рубашку с надписью: «Я знаю разницу между & # 25991; & # 23383; и & # 1575; & # 1618; & # 1593; & # 1514; & # 1614; & # 1576; & # 1610; & # 1617; & # 1577; '.

Каков ответ на ваш вопрос для этого текста? Это разрешено? Разве это не английский текст?

scroll top