Что такое хранилище общих языковых данных (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 и ранее, они предоставили это предупреждение.

Другие вопросы по тегам