Summary: | нечитабелшьные символы интерфейса | ||||||
---|---|---|---|---|---|---|---|
Product: | Branch 4.1 | Reporter: | A-nje-Y <a171z> | ||||
Component: | cinelerra | Assignee: | Hihin Ruslan <ruslandh> | ||||
Status: | CLOSED WONTFIX | QA Contact: | qa-4.1 <qa-4.1> | ||||
Severity: | normal | ||||||
Priority: | P2 | CC: | a171z, grizlik78, ruslandh, stanv | ||||
Version: | unspecified | Keywords: | l10n | ||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
A-nje-Y
2008-10-08 12:12:55 MSD
да, есть такое. я выложу исправление на той неделе, пока нужно запускать в KOI8-R / CP1251 локали./ на подобие LC_ALL= стереть другие LC_ если есть LC_ ... = LANG=ru_RU.KOI8-R cinelerra (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, Для cinelerra-2.1-alt0.8.M41.1061.i586.rpm (desktop 4.1) наблюдаются далее крякозябры. запустить с $LC_ALL=ru_RU.KOI8-R cinelerra не помогает. Проходит только $LC_ALL=C cinelerra (интерфейс на английском). Как быть? (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'ом. пробуйте, тестируйте. $ rpm -q cinelerra cinelerra-2.1-alt0.9.M41.1061 проблема осталась нерешенной. удаление ~/.bcast/Cinelerra_rc или каталого ~/.bcast непомогает. Везде крякозябры. В cinelerra-2.1-alt0.9.M41.1061 везеде крякозябры. не удалось решить проблему, редактировал cinelerra.wrapper для эксперимента на запуск cinelerra с разными кодировками (cp1251,utf8,koi8r,pt154,iso88595) не при какой символы не были читабельного вида, но отличались друг от друга, т.е у каждой кодировки были свои (нечитабельные) символы (при pt154 были английские). В принципе можно запускать с английским интерфейсом, но хотелось бы с русский, может будут ещё какие то варианты решения проблемы. что сказать... апстрим не поддерживает utf-8. там есть грязный хак на переключение в 8-бит локаль при запуске, который у нас не работает. я делал патч, который работает (в 4.0) для поддержки запуска из ru_RU.CP1251. а вот почему wrapper не работает - не понятно :( Мда конечно хотелось бы чтоб работал, при вызове программы # LANG=ru_RU.KOI8-R cinelerra нет желаемого результата, c cp1251 та же история. У меня вопрос --- wrapper должен менять переменную окружения $LANG ? Потому как при запуске wrappera эта переменная окружения не меняется $LANG=ru_RU.UTF-8. > У меня вопрос --- wrapper должен менять переменную окружения $LANG ? Да, > при > запуске wrappera эта переменная окружения не меняется $LANG=ru_RU.UTF-8. Вы уверены? Как вы проверяли? > Как вы проверяли?
>
#./cinelerra.wrapper
# echo $LANG
или
# env | grep $LANG
(In reply to comment #11) > > Как вы проверяли? > #./cinelerra.wrapper > # echo $LANG > # env | grep $LANG двойка :( по десятибальной системе тоже :( если в порожденном шелле переменные меняются, это не влияет на родителя. > двойка :( по десятибальной системе тоже :(
> если в порожденном шелле переменные меняются,
> это не влияет на родителя.
>
На сколько я знаю, переменные окружения распространяються на все экземпляры данного окружения, просто переменные на опредилённый экземпляр или программу, дак вот я и спрашивал или должна измениться переменная окружения, и если не ошибаюсь после изменения деиствительной она становиться после перегрузки системы, ну а в нашем случае после перезагрузки она конечно же не сохраниться изменённой, после предварительного запуска wrappera (к стати wrapper сразу порождает cinelerry c новой просто переменной $LANG как я понял), нужно вносить изменения в .bash_profile. Если в чемто не прав поправте. На ошибках учаться.
> На сколько я знаю, переменные окружения распространяються на все > экземпляры данного окружения, потомки! > и если не ошибаюсь после изменения деиствительной она > становиться после перегрузки системы, ошибаетесь :) > нужно вносить изменения в .bash_profile. не нужно :) > Если чемто не прав поправте. На ошибках учаться. Поправил :) Но чтобы вам было понятно, нужно все же почитать что-нибудь вроде http://tldp.org/LDP/abs/html/ (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 соответственно. если fonts-ttf-ms поставить, попустит? $ 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-шрифты работают... Может наоборот удалить надо? :) Хотя нет, и это не помогло :) В самой программе шрифт загружается через алиас '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, внимание вопрос: как сделать нечто подобное для одного конкретного приложения, не затрагивая остальные? Или как вообще правильно? (In reply to comment #18) > В самой программе шрифт загружается через алиас 'fixed' Вот! Спасибо! Это ответ. Это похоже на баг дистрибутива. Два вопроса: 1) Вы апгрейдили с 4.0 или ставили сразу 4.1 (важно)? 2) Если поставить XFree86-cyr_rfx-fonts-iso10646-0400, попустит? а если добавить XFree86-cyr_rfx-fonts-koi8-r, попустит? > 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 теперь на русском :) что-то я устал сегодня, наверно, ибо пересобирал и ставил я fonts-bitmap-cyr_rfx-iso10646-0400 и fonts-bitmap-cyr_rfx-koi8-r Ну и на всякий случай добавлю, что предложенные XFree86-cyr_rfx-fonts-iso10646-0400 XFree86-cyr_rfx-fonts-koi8-r не помогают (видимо поэтому они теперь живут в obsolete) 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 не нужно!
на майнтайнера Перевод никак не завязан на шрифты, он связан с локалью. Код приложения написан так, что он не умеет стандартно работать с локалью. Исправлять это очень трудоёмко. |