Что такое хранилище общих языковых данных (CLDR) - JDK 9
Я хочу понять CLDR, поскольку он улучшен в JDK-9.
JDK 9 CLDR - согласно документации JDK
В JDK 9 данные локали по умолчанию используют данные, полученные из общего хранилища данных Unicode Consortium (CLDR). В результате пользователи могут видеть различия в поведении и / или переводах чувствительных к локали сервисов.
Может ли кто-нибудь помочь мне понять это и дать мне знать, каким будет его представление в API даты JDK8.
2 ответа
CLDR (Common Locale Data Repository) - это набор данных, собранных Консорциумом Unicode, который многие библиотеки используют для предоставления данных, связанных с интернационализацией.
Вещи, которые это содержит, являются вещами как:
- информация о том, как даты / время форматируются в данной локали.
- информация о том, как сортировка текста (сортировка) происходит в данной локали
- информация о том, как числа представлены в данной локали
- названия для валют, единиц и географических регионов
- ...
Примечание: "языковой стандарт" - это, по сути, "язык, на котором говорят в данном регионе". Это немного сложнее, но это хороший язык высокого уровня. "en-US", например, представляет американский английский, а "de-DE" - немецкий, как говорят в Германии.
JDK традиционно поддерживает свой собственный набор данных для этого. По-видимому, Java 9 перешла на "стандартный способ" получения этих данных.
Работая как с данными JDK, так и с данными CLDR, я могу сказать, что в среднем данные CLDR намного лучше, более активно поддерживаются и (вероятно, что наиболее важно) имеют определенный способ предоставления улучшений или отчетов об ошибках.
Практическая разница в том, что некоторое форматирование может вести себя немного иначе, чем раньше, в большинстве случаев более корректно, но, возможно, неожиданным образом. Это будет применяться особенно при использовании неанглийских языков (последствия такого изменения для английского языка довольно незначительны).
CLDR содержит правила сортировки и форматирования контента для всего мира (например, форматы даты и валюты). Это большой набор данных, который тесно связан с самим Юникодом.
CLDR предназначен для формального, стабильного набора этих определений.
Так как правила CLDR отличаются, в некоторых случаях для некоторых локалей, от тех, которые были встроены в версии Java 8 и ранее, они предоставили это предупреждение.