Bug 17481

Summary: нечитабелшьные символы интерфейса
Product: Branch 4.1 Reporter: A-nje-Y <a171z>
Component: cinelerraAssignee: Hihin Ruslan <ruslandh>
Status: CLOSED WONTFIX QA Contact: qa-4.1 <qa-4.1>
Severity: normal    
Priority: P2 CC: a171z, grizlik78, ruslandh, stanv
Version: unspecifiedKeywords: l10n
Hardware: all   
OS: Linux   
Attachments:
Description Flags
русский перевод cinelerra с одним шрифтом none

Description A-nje-Y 2008-10-08 12:12:55 MSD
при запуске cinelerra символы интерфейса отображаются не в читабельной форме
Comment 1 viy 2008-10-10 09:54:17 MSD
да, есть такое.
я выложу исправление на той неделе,
пока нужно запускать в KOI8-R / CP1251 локали./

на подобие 

LC_ALL=
стереть другие LC_ если есть
LC_ ... =
LANG=ru_RU.KOI8-R cinelerra

Comment 2 A-nje-Y 2008-10-10 12:52:35 MSD
(In reply to comment #1)
> да, есть такое.
> я выложу исправление на той неделе,
> пока нужно запускать в KOI8-R / CP1251 локали./
> 
> на подобие 
> 
> LC_ALL=
> стереть другие LC_ если есть
> LC_ ... =
> LANG=ru_RU.KOI8-R cinelerra
> 
(In reply to comment #2)

спасибо ... 
желательно бы чтоб программа работала с кодировкой символов UTF-8,
Comment 3 Andriy Stepanov (stanv) 2008-10-14 16:00:46 MSD
Для cinelerra-2.1-alt0.8.M41.1061.i586.rpm (desktop 4.1)
наблюдаются далее крякозябры.
запустить с 
$LC_ALL=ru_RU.KOI8-R cinelerra
не помогает.

Проходит только 
$LC_ALL=C cinelerra
(интерфейс на английском).

Как быть?
Comment 4 viy 2008-10-14 18:06:19 MSD
(In reply to comment #3)

> $LC_ALL=ru_RU.KOI8-R cinelerra
> не помогает.
И не поможет. В коде идет работа с LANG=. 
LC_ALL не пойдет.

в общем, я выложил 
cinelerra-2.1-alt0.9.M41.1061.src.rpm
с корректным, надеюсь, wrapper'ом.
пробуйте, тестируйте.
Comment 5 Andriy Stepanov (stanv) 2008-10-20 12:14:30 MSD
$ rpm -q cinelerra
cinelerra-2.1-alt0.9.M41.1061

проблема осталась нерешенной.

удаление ~/.bcast/Cinelerra_rc или каталого ~/.bcast непомогает.

Везде крякозябры.
Comment 6 Andriy Stepanov (stanv) 2008-10-20 12:15:27 MSD
В cinelerra-2.1-alt0.9.M41.1061 везеде крякозябры.
Comment 7 A-nje-Y 2008-10-22 02:56:29 MSD
не удалось решить проблему, редактировал cinelerra.wrapper для эксперимента на запуск cinelerra с разными кодировками (cp1251,utf8,koi8r,pt154,iso88595) не при какой символы не были читабельного вида, но отличались друг от друга, т.е у каждой кодировки были свои (нечитабельные) символы (при pt154 были английские). В принципе можно запускать с английским интерфейсом, но хотелось бы с русский, может будут ещё какие то варианты решения проблемы.
Comment 8 viy 2008-10-22 21:45:14 MSD
что сказать...
апстрим не поддерживает utf-8.
там есть грязный хак на переключение в 8-бит локаль при запуске,
который у нас не работает.
я делал патч, который работает (в 4.0)
для поддержки запуска из ru_RU.CP1251.

а вот почему wrapper не работает - не понятно :(
Comment 9 A-nje-Y 2008-10-22 22:47:45 MSD
Мда конечно хотелось бы чтоб работал, при вызове программы 
# LANG=ru_RU.KOI8-R cinelerra нет желаемого результата, c cp1251 та же история.
  У меня вопрос --- wrapper должен менять переменную окружения $LANG ? Потому как при запуске wrappera эта переменная окружения не меняется $LANG=ru_RU.UTF-8. 
Comment 10 viy 2008-10-22 23:53:40 MSD
>   У меня вопрос --- wrapper должен менять переменную окружения $LANG ?
Да,
> при
> запуске wrappera эта переменная окружения не меняется $LANG=ru_RU.UTF-8. 
Вы уверены?
Как вы проверяли?

Comment 11 A-nje-Y 2008-10-26 00:00:41 MSD
> Как вы проверяли?
>

#./cinelerra.wrapper

# echo $LANG 

или 

# env | grep $LANG

Comment 12 viy 2008-10-26 00:46:33 MSD
(In reply to comment #11)
> > Как вы проверяли?
> #./cinelerra.wrapper
> # echo $LANG 
> # env | grep $LANG

двойка :( по десятибальной системе тоже :(
если в порожденном шелле переменные меняются,
это не влияет на родителя.
Comment 13 A-nje-Y 2008-10-26 17:10:04 MSK
> двойка :( по десятибальной системе тоже :(
> если в порожденном шелле переменные меняются,
> это не влияет на родителя.
>
На сколько я знаю, переменные окружения распространяються на все экземпляры данного окружения, просто переменные на опредилённый экземпляр или программу, дак вот я и спрашивал или должна измениться переменная окружения, и если не ошибаюсь после изменения деиствительной она становиться после перегрузки системы, ну а в нашем случае после перезагрузки она конечно же не сохраниться изменённой, после предварительного запуска wrappera (к стати wrapper сразу порождает cinelerry c новой просто переменной $LANG как я понял), нужно вносить изменения в .bash_profile. Если в чемто не прав поправте. На ошибках учаться.  

Comment 14 viy 2008-10-26 20:53:33 MSK
> На сколько я знаю, переменные окружения распространяються на все
> экземпляры данного окружения, 
потомки!
> и если не ошибаюсь после изменения деиствительной она
> становиться после перегрузки системы, 
ошибаетесь :)
> нужно вносить изменения в .bash_profile. 
не нужно :)
> Если чемто не прав поправте. На ошибках учаться.  
Поправил :)
Но чтобы вам было понятно, нужно все же почитать 
что-нибудь вроде
http://tldp.org/LDP/abs/html/

Comment 15 Aleksey Borisenkov 2008-10-28 21:54:27 MSK
(In reply to comment #8)
> а вот почему wrapper не работает - не понятно :(

Ну я бы не сказал, что он прям совсем не работает.
Буковки-то там явно пытаются из KOI8-R вылезти, только вместо кириллических символов выводятся стоящие на соответствующих местах символы из Latin-1.
Может нужно какой-то специальный шрифт использовать? На вид менюшки отображаются у меня шрифтом "Misc Fixed 11".
Или где-то всё-таки что-то недопереключилось в самой программе, так как если запускать без враппера
LANG=ru_RU.CP1251 /usr/bin/cinelerra-bin
и
LANG=ru_RU.KOI8-R /usr/bin/cinelerra-bin
то опять же получаем символы из latin-1 стоящие на местах правильных букв из cp1251 и koi8-r соответственно.
Comment 16 viy 2008-10-28 22:03:56 MSK
если 
fonts-ttf-ms
поставить, попустит?
Comment 17 Aleksey Borisenkov 2008-10-28 22:19:55 MSK
$ rpm -qa cinelerra
cinelerra-2.1-alt0.9.M41.1061.2

$ rpm -qa fonts-ttf-ms
fonts-ttf-ms-1.0-alt1.M40.1

Да, шрифты в наследство остались от 4.0, но не думаю, что это что-то меняет, тем более что везде где надо было MS-шрифты работают...

Может наоборот удалить надо? :) Хотя нет, и это не помогло :)
Comment 18 Aleksey Borisenkov 2008-10-29 11:43:30 MSK
В самой программе шрифт загружается через алиас 'fixed'
у меня, скажем, команда "xfd -fn fixed" показывает такой шрифт:
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

Проводим эксперимент:
В некой папке создал файл fonts.alias с такой строчкой:
fixed -xos4-terminus-medium-r-normal--12-120-72-72-c-60-koi8-r
далее
xset +fp `pwd`
и вуаля: менюшки в cinelerra русским терминусом.
Но насколько я понимаю, это затронет все приложения использующие fixed, и там результат может оказаться не столь хорошим.

Поскольку я мало знаю о шрифтах в linux вообще и о современном состоянии их в ALT, внимание вопрос:
как сделать нечто подобное для одного конкретного приложения, не затрагивая остальные? Или как вообще правильно?
Comment 19 viy 2008-10-31 21:02:22 MSK
(In reply to comment #18)
> В самой программе шрифт загружается через алиас 'fixed'
Вот! Спасибо! Это ответ.
Это похоже на баг дистрибутива.

Два вопроса:
1) Вы апгрейдили с 4.0 или ставили сразу 4.1 (важно)?

2) Если поставить XFree86-cyr_rfx-fonts-iso10646-0400,
попустит?
а если добавить XFree86-cyr_rfx-fonts-koi8-r, попустит?

Comment 20 Aleksey Borisenkov 2008-10-31 22:08:42 MSK
> 1) Вы апгрейдили с 4.0 или ставили сразу 4.1 (важно)?
Свою систему? Апгрейдил с 4.0 (причём с неофициальной беты, ибо у меня x86_64). Но есть ещё виртуальная, поставленная недавно из altlinux-4.1.0-desktop-i586-install-dvd5.iso. Там всё абсолютно так же, как и на основной.

> 2) Если поставить XFree86-cyr_rfx-fonts-iso10646-0400,
> попустит?
Ой, оно только в сизифе... На всякий случай пересобрал. Поставил.
Шрифт стал другим, но по-прежнему неправильным.

> а если добавить XFree86-cyr_rfx-fonts-koi8-r, попустит?
Пересобрал, поставил. Меню в cinerella теперь на русском :)

Comment 21 Aleksey Borisenkov 2008-10-31 22:51:55 MSK
что-то я устал сегодня, наверно, ибо пересобирал и ставил я
fonts-bitmap-cyr_rfx-iso10646-0400
и
fonts-bitmap-cyr_rfx-koi8-r
Comment 22 Aleksey Borisenkov 2008-11-01 23:28:13 MSK
Ну и на всякий случай добавлю, что предложенные
XFree86-cyr_rfx-fonts-iso10646-0400
XFree86-cyr_rfx-fonts-koi8-r
не помогают (видимо поэтому они теперь живут в obsolete)
Comment 23 walq64 2009-02-02 00:37:47 MSK
Created attachment 3297 [details]
русский перевод cinelerra с одним шрифтом

Для решения проблемы достаточно установить шрифты с кодировкой iso8859-5.
Не забудьте обновить кеш шрифтов с помощью fc-cache -f -v. Иногда необходимо предварительно обновить fonts.dir и fonts.alias
Наличие шрифтов можно проверить с помощью xfontsel. 
Для упрощения можно воспользоваться переводом, в котором только один шрифт -*-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-5.  
Замените файл /usr/share/locale/ru/LC_MESSAGES/cinelerra.mo

Проверено на Альт 4.1 и Альт 4.0.1 обновленных до текущего Сизифуса.
На обоих локаль UTF8. Переключать LANG в KOI8-R не нужно!
Comment 24 viy 2009-03-12 17:25:36 MSK
на майнтайнера
Comment 25 ruslandh 2009-03-13 07:17:13 MSK
Перевод никак не завязан на шрифты, он связан с локалью. Код приложения написан так, что он не умеет стандартно работать с локалью. Исправлять это очень трудоёмко.