Сопоставление СИЛЬНОСТЬ и отношение локального языка

Я прочитал следующее из Collator Javadoc.

"Точное назначение сильных сторон языковых возможностей зависит от языка. Например, на чешском языке" e "и" f "считаются первичными различиями, тогда как" e "и" ê "являются вторичными различиями" e "и" E "- третичные различия, а" e "и" e "идентичны".

Означает ли это, что я должен установить STRENGTH на основе языка, который я использую? Если это так, кто-то может предложить значения по умолчанию для локалей: us_en, us_es, ca_fr, spain_spanish, chile_spanish, portuguese

Ответ 1

Это действительно зависит от того, что вы пытаетесь сделать. Для большинства (всех?) Языков, использующих латинский алфавит, верно следующее:

  • Primary
    • Разное: a, á, Á, b
    • То же: á, â
    • То же: a, A
  • Вторичный
    • Разное: a, á, Á, b
    • Разное: á, â
    • То же: a, A
  • Третичный
    • Разное: a, á, Á, b
    • Разное: á, â
    • Разное: a, A
  • Идентичные
    • Также рассмотрите различия, которые вы не видите, например, между (accented A) и (A) + (accent)

Будут небольшие различия между языками, но по существу:

  • Если вы хотите сравнить регистр с регистром, используйте третичный.
  • Для сравнения без учета регистра используйте либо первичный, либо вторичный, в зависимости от того, хотите ли вы сгруппировать с помощью.
  • Некоторые правила сортировки довольно странные. а отличается от á даже в Первичном, а á отличается от Á даже в Первичном/Вторичном. Я не знаю почему; ошибка, может быть?
  • Кто знает, что происходит на нелатинских языках.