Linux.org.ua
Мовні питання => Українізація дистрибутивів => Гілку створено: DalekiyObriy від 2014-08-11 21:56:56
-
чи знає хтось чому е/є в українській локалі мають однакову позицію при сортуванні?
echo -e "євгеніка\nебонітовий\nепатаж" | LC_COLLATE=uk_UA.UTF-8 sort
ебонітовий
євгеніка
епатаж
-
Знайшов подібне питання:
http://unix.stackexchange.com/questions/17198/where-has-my-uniq-or-sort-u-line-gone-with-some-unicode-characters
Дійсно доволі дивно. Правильний результат дає наступна команда:
yaroslav@Zensor-A:~$ echo -e "євгеніка\nебонітовий\nепатаж\nЄвропа\nєдність\nеластичність" | LANG=С sort
Європа
ебонітовий
еластичність
епатаж
євгеніка
єдність
А при сортуванні із параметром LANG=uk_UA.UTF-8, сортується за другою літерою.
-
LANG=С - неприйнятно, бо локаль C працює з байтами
поки не поладимо uk_UA, прийнятний варіант видає en_US.UTF-8
-
Ммм (https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/locales/uk_UA#l491)?
-
А де добродій Лісівка? Він же винуватець. Ховається? ::)
-
звіт про помилку + латка (https://sourceware.org/bugzilla/show_bug.cgi?id=17293)
-
Там ще одне питання є чи дійсно треба ігнорувати м’який знак при сортуванні (те що зараз робиться)?
Бо, звичайно, можна сказати що так буде правильно і навести аргументи, але схоже в офіційних документах/словниках м’який знак має фіксовану позицію при сортуванні. Тож, якщо українська локаль буде мати порядок відмінний від офіційного це може призвести до неочікуваних результатів.
Як на мене, якщо вже бути послідовним і дійсно не вважати м’який знак літерою, то й місце він мусить займати останнє, а зараз з одного боку сортування кладе ь перед ю, а з іншого ігнорує його при пом’якшенні літер.
-
Там ще одне питання є чи дійсно треба ігнорувати м’який знак при сортуванні (те що зараз робиться)?
Бо, звичайно, можна сказати що так буде правильно і навести аргументи, але схоже в офіційних документах/словниках м’який знак має фіксовану позицію при сортуванні. Тож, якщо українська локаль буде мати порядок відмінний від офіційного це може призвести до неочікуваних результатів.
Як на мене, якщо вже бути послідовним і дійсно не вважати м’який знак літерою, то й місце він мусить займати останнє, а зараз з одного боку сортування кладе ь перед ю, а з іншого ігнорує його при пом’якшенні літер.
Підтримую.
-
закинув оновлену латку, яка також виправляє порядок м’якого знаку
-
Додав до латки тести для локалі uk_UA.
Маю прохання, хто може зайти і ввічливо копнути (ланка на ваду (https://sourceware.org/bugzilla/show_bug.cgi?id=17293)), напр., запитавши чи є шанс, що закинуть виправлення до випуску glibc 2.21
-
Додав до латки тести для локалі uk_UA.
Маю прохання, хто може зайти і ввічливо копнути (ланка на ваду (https://sourceware.org/bugzilla/show_bug.cgi?id=17293)), напр., запитавши чи є шанс, що закинуть виправлення до випуску glibc 2.21
1. Дякую.
2. Немає сенсу, у Правіна немає права доступу до запису у сховище.
3. Навряд, код уже заморожено, скоріше впишуть до наступного випуску (у лютому 2015 року), якщо хтось взагалі зглянеться (там після відходу Уве якась анархія).
-
Додав до латки тести для локалі uk_UA.
Маю прохання, хто може зайти і ввічливо копнути (ланка на ваду (https://sourceware.org/bugzilla/show_bug.cgi?id=17293)), напр., запитавши чи є шанс, що закинуть виправлення до випуску glibc 2.21
1. Дякую.
2. Немає сенсу, у Правіна немає права доступу до запису у сховище.
3. Навряд, код уже заморожено, скоріше впишуть до наступного випуску (у лютому 2015 року), якщо хтось взагалі зглянеться (там після відходу Уве якась анархія).
Кепсько, може спробувати через процес внесків (https://sourceware.org/glibc/wiki/Contribution%20checklist) ?
-
Додав до латки тести для локалі uk_UA.
Маю прохання, хто може зайти і ввічливо копнути (ланка на ваду (https://sourceware.org/bugzilla/show_bug.cgi?id=17293)), напр., запитавши чи є шанс, що закинуть виправлення до випуску glibc 2.21
1. Дякую.
2. Немає сенсу, у Правіна немає права доступу до запису у сховище.
3. Навряд, код уже заморожено, скоріше впишуть до наступного випуску (у лютому 2015 року), якщо хтось взагалі зглянеться (там після відходу Уве якась анархія).
Кепсько, може спробувати через процес внесків (https://sourceware.org/glibc/wiki/Contribution%20checklist) ?
Можливо, я не пробував.
-
Відсилати латки до локалей тре в поштове коло glibc-locale, і схоже туди вже автоматично відіслано латку (https://sourceware.org/ml/libc-locales/2014-q3/msg00162.html) з вади. Тож лишається лише копати їх періодично (https://sourceware.org/glibc/wiki/Contribution%20checklist#Ping_and_keep_pinging):
14. Ping and keep pinging
If your patch is not reviewed it may just mean that the reviewers are busy. Please ping and keep pinging the patch on a weekly basis.
але там така кількість автоматично генерованих листів, що сумніваюся, що хтось значний його пильно переглядає. Хіба що Ульриху написати персонально... :-/
-
Написав мейнтейнерам, відповів Joseph Myers, відправив курити інструкції (https://sourceware.org/glibc/wiki/Contribution%20checklist)
Ніби зробив і відіслав в поштову групу (https://sourceware.org/ml/libc-locales/2015-q1/msg00000.html)
До речі, схоже в ICU є проблема з сортуванням: не ігноруються апострофи (жоден з трьох), і не ігнорується дефіс... Схоже й там тре про ваду писати...
-
Написав мейнтейнерам, відповів Joseph Myers, відправив курити інструкції (https://sourceware.org/glibc/wiki/Contribution%20checklist)
Ніби зробив і відіслав в поштову групу (https://sourceware.org/ml/libc-locales/2015-q1/msg00000.html)
До речі, схоже в ICU є проблема з сортуванням: не ігноруються апострофи (жоден з трьох), і не ігнорується дефіс... Схоже й там тре про ваду писати...
Спасибі, що не полишили цього так. З Новим Роком! :)
-
Ну от і року не пройшло, як латку (після численних прохань, пінгувань та перероблювань) закинули в master в glibc: https://sourceware.org/bugzilla/show_bug.cgi?id=17293
Поздоровляю всіх! :)
-
закинув оновлену латку, яка також виправляє порядок м’якого знаку
ДЯКУЮ :)
Знадобилося: https://stackoverflow.com/questions/31135676/postgresql-sorting-with-cyrillic-ь
У мене зараз glibc 2.19.
-
Супер, радий, що стало у пригоді :)
Тепер у нас є ще пару проблемок:
1) http://unicode.org/charts/collation/chart_Cyrillic.html
Літери г та ґ мають однакову позицію, якщо я правильно розумію це окремі літери і вони мусять стояти окремо.
До речі зараз в glibc обговорюють автоматичне оновлення локалей з Unicode тож ця проблема може скоро з'явитися в glibc.
2) в останній glibc (у Fedora 22) слова що мають дефіс йдуть перед такими словами, що його не мають, тобто вебархів йде після веб-архів; теоретично має бути навпаки (і так було в Fedora 21 і раніше), я не знаю звідки ця зміна прийшла, тре досліджувати
-
Маю прохання до спільноти, в мене є колега, що працює з українською на Лінуксі, але вона працює на Ubuntu 14.04, де ще не виправлена проблема сортування українських літер (потрібна версія glibc 2.22). Чи не міг би хтось згенерувати українську локаль з glibc 2.22 для Ubuntu 14.04, щоб оновити на її системі?
Я можу зробити це швидко на Fedora, але хотілося би бути впевненим, що вона запрацює на Ubuntu 14.04, а я завтра вранці вирушаю в тижневу подорож, тож не встигаю це зробити правильно.
Наперед дякую.