Bug 9899

Summary: Локали меню и системы не совпадают
Product: Branch 3.0 Reporter: Evgenii Terechkov <evg>
Component: menuAssignee: Sergey V Turchin <zerg>
Status: CLOSED WORKSFORME QA Contact: at <at>
Severity: normal    
Priority: P2    
Version: 3.0   
Hardware: all   
OS: Linux   

Description Evgenii Terechkov 2006-08-21 01:26:51 MSD
Что я сделал: Установил Compact 3 с DVD. Системная локаль - KOI8-R
(единственная). Поставил IceWM. Добавил пользователя. У него содержимое .i18n (с
мастера ещё):

LANG=ru_RU.KOI8-R
LANGUAGE=ru_RU.KOI8-R
SYSFONTACM=koi8-r
SYSFONT=UniCyr_8x16
DICTIONARY=russian
MPAGE="-CKOI8-R"
export DICTIONARY MPAGE

Шрифт меню (и остальные шрифты в IceWM) у поьзователя настроен на koi8-r.

Видим в меня чехарду русских букв и закорючек (см. также "Actual results").

Что выясняется: и ~/.icewm/menu и /usr/X11R6/lib/X11/icewm/menu - файлы с
русским текстом в UTF-8, т.к. в /e/menu-methods/lang.h записана локаль
ru_RU.UTF-8 (почемуто). Судя по обсуждения  рассылке, инсталлер должен был туда
записать системную локаль - KOI8-R.

P.S.: если это такая унификация ("UTF-8 везде") - то я двумя руками за. Но ведь
и работать как-то должно.

P.P.S.: понимаю, что баг надо было вешать на инсталлер, но не врубаюсь, на какой
компонент. Знающие люди могут перевесить.

Actual Results:  
Пункты меню, которые выводит сам IceWM ("Выход", "Темы"...) выглядят нормально.
Остальное закорючками. Например "Сеть" превратилась в "ппяя"(первая "п"
подчёркнута).

Expected Results:  
Ожидалось полностью русскоязычное меню.
Comment 1 Sergey V Turchin 2006-08-30 19:05:45 MSD
(In reply to comment #0)
> Что я сделал: Установил Compact 3 с DVD. Системная локаль - KOI8-R
> (единственная).
С такой системной локалью невозможно установить Compact 3

> Что выясняется: и ~/.icewm/menu и /usr/X11R6/lib/X11/icewm/menu - файлы с
> русским текстом в UTF-8, т.к. в /e/menu-methods/lang.h записана локаль
> ru_RU.UTF-8 (почемуто).
> Судя по обсуждения  рассылке, инсталлер должен был туда
> записать системную локаль - KOI8-R.
Нет, ru_RU.UTF-8, что он и сделал.

> P.S.: если это такая унификация ("UTF-8 везде") - то я двумя руками за. Но 
ведь
> и работать как-то должно.
Работает. Впишите в lang.h нужную вам локаль  - ru_RU.KOI8-R

P.S.
Есть еще вариант, исправить IceWM.
Comment 2 Evgenii Terechkov 2006-08-30 19:53:55 MSD
(In reply to comment #1)
> С такой системной локалью невозможно установить Compact 3

Да, это меня понесло: koi8-r настроена у пользователя, под которым я проверял.
Заглянув в /e/sy/i18n вижу лишь юникод.

> Работает. Впишите в lang.h нужную вам локаль  - ru_RU.KOI8-R

Сразу сделал. Но это костыль.

> P.S.
> Есть еще вариант, исправить IceWM.

Это типа "читай системный файл меню в системной локали, а пользовательский - в
его личной"? Это вообще возможно? В смысле для автора IceWM, сделать независимо
от особенностей дистрибутивов?
Comment 3 Sergey V Turchin 2006-09-01 16:40:40 MSD
> > Есть еще вариант, исправить IceWM.
> Это вообще возможно?
Да, если меню IceWM будет всегда в 1-й кодировке, UTF-8
Comment 4 Evgenii Terechkov 2006-09-01 19:11:42 MSD
(In reply to comment #3)
> > > Есть еще вариант, исправить IceWM.
> > Это вообще возможно?
> Да, если меню IceWM будет всегда в 1-й кодировке, UTF-8

Попробую повесить багу на проект.
Comment 5 Evgenii Terechkov 2006-11-10 20:18:01 MSK
*** Bug 9900 has been marked as a duplicate of this bug. ***
Comment 6 Evgenii Terechkov 2006-11-11 21:37:09 MSK
egrep -i '\.menu-meth' /usr/share/doc/menu-2.1.29/* - решает проблему. Так и
сказать ССЗБ, ставящим себе локаль не в ногу с остальной системой. В наш то век
юникода.