Thu, 17 May  |   Login English version  |  OS2.Ru  
В начало
Об OS/2
Новости
Публикации
DevCenter
База данных
Каталог ресурсов
Биржа труда
TeamDB
Форумы и общение
Опросы и конкурсы
Russian Team OS/2
На первую страницу OS2.Ru
 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская
Поиск по: Добавить закладку OS2.Ru в панель Netscape 6/Mozilla
OS2.Ru > Articles > Software > X11 > Russian.phtml.ru
2000-08-13
Samorukov Alex
(версия для печати)

X11 сервера и программы: Русификация

В данной статье я бы хотел собрать советы по русификации X11 приложений и серверов. Многие из них уже есть в статьях по соответствующим продуктам, в этой статье все рекомендации просто собраны вместе. Кроме того я попытаюсь объяснять и принцип локализации программ, что позволит вам создавать локализацию для своего языка.

Содержание:

Русификация X Сервера
  X-Server XFREE86
  PMX
  HOBlink X11
  Exceed 3.0
Русификация X11 приложений
  Window Managers
   IceWM
   Enlightment
  Приложения на GTK (gnome-games, gnapster, xchat и т.д.).
  GIMP (gnome-games, gnapster, xchat и т.д.).

X-Server XFREE86

Здесь я приведу отрывок из статьи Платона Фомичева "XFfree86/2 Русификация":
  1. Качаем кириллические шрифты с серверов.
  2. Устанавливаем их путём распаковывания в согласовании с деревом в архиве.
  3. Добавляем строку FontPath в ХF86Config.
  4. Копируем прилагаемый файл .Xmodmap в HOME каталог.
  5. Настраиваем XF86Config следующим образом:
    •  
    • функция Mode_Lock -- переключение раскладки клавиатуры
    • Функция Mode_Shift -- переключение режима только пока нажата управляющая клавиша
    
    # LeftAlt
      RightAlt   ModeShift
      RightCtl   ModeLock
      ScrollLock ModeLock
    
    
    Тут, я думаю, все ясно. Переназначать клавиши под себя можно.
  6. Раскомментировать строку XkbDisable
Теперь вы сможете использовать русские буквы в XFree86 приложениях. Переключать раскладку кнопкой "Правый ALT". От себя я хотел бы добавить, что строчку

FontPath     "/XFree86/lib/X11/fonts/cyrillic/"
следует добавлять до других строк fontpath.


PMX

Многие используют этот веб сервер и сегодня , несмотря на выход более безглючного и функционального аналога HOBLink X11. В этом архиве вы найдёте всё необходимое для русификации и успешного использования PMX. Там же содержится инструкция по установке PMX. Принцип русификации такой - команда xmodmap keyboard загружает файл раскладки клавиатуры. Его формат прост:

keycode   x = a  b  c d
Где x - это скан-код кнопки на клавиатуре. Его можно узнать запустив программу xev.exe их комплекта PMX нажав кнопку в окне программы. a - это значение кнопки x в обычном состоянии, b - состояние при нажатом shift. c - это значение кнопки x в режиме альтернативной (например русской) раскладки, d - состояние при нажатом shift в режиме альтернативной раскладки. Так строчка

keycode  25 = q  Q  0xca  0xea
обозначает следующее - код 25 при нажатии без шифта в нормальном режиме выдаст q, с шифтом Q, а в русском режиме й (hex код в koi8-r xCA), в русском + shift Й (hex код в koi8-r xEA). Если перед строкой стоит !, то она не обрабатывается. Строка

keycode  38 = Mode_switch
- это строка выбора кнопки переключения на русский. Из-за особенностей работы с клавиатурой это могут быть только num_lock (код 98) ,caps_lock (код 38) или scroll_lock (код 133). Думаю, что следуя вышеприведённым рекомендациям вы сможете настроить клавиатуру по своему вкусу.


HOBLink X11

На мой взгляд этот сервер - лучшая альтернатива PMX. Мне он настолько понравился, что я его русифицировал. А рецепт такой:
  1. Качаем русские шрифты с нашего сервера и распаковываем его в директорию \HOBX11\FONTS
  2. Кладём изготовленный мной файл rus.kmf в директорию \HOBX11.
  3. В файле HOBX11.INI добавляем в строчку fontpath - "e:/HOBX11/FONTS/cyrillic". И заменяем keyboardFile=xx.kmf на keyboardFile=rus.kmf
  4. Перезагружаем x-server и радуемся жизни ;) Переключение раскладок осуществляется клавишей CapsLock
Теперь формат файла rus.kmf:

KEYx  = a, b, c, d; (XK_q,XK_Q) (##)
Где x - это скан-код кнопки на клавиатуре в формате PMX. Как его узнать - я не знаю, да нам он и не нужен. a - это значение кнопки x в обычном состоянии, b - состояние при нажатом shift. c - это значение кнопки x в режиме альтернативной (например русской) раскладки, d - состояние при нажатом shift в режиме альтернативной раскладки. После ; находится комментарий с указанием кнопки, значение которой мы редактируем. Так строчка

KEY16  = 0x71, 0x51, 0xca, 0xea ; (XK_q,XK_Q) (##)
следующее - код 16 при нажатии без шифта в нормальном режиме выдаст q, с шифтом Q, а в русском режиме й (hex код в koi8-r xCA), в русском + shift Й (hex код в koi8-r xEA). По комментарию мы видим, что это кнопка "q" на клавиатуре.
Переключение раскладок в hoblink сделано так: клавише, переключающей раскладки присваивается код 0xFF7E. Строка

KEY58 = 0xFF7E, 0xFF7E ; (XK_Caps_Lock,XK_Caps_Lock)
обозначает переключение раскладки по caps lock. Переключателями могут быть только caps lock, numlock и scroll lock.


Exceed 3.0

У меня на машине этот сервер постоянно падает, так что русификацией его я специально не занимался. Если вас интересует его русификация - пишите, сделаю. Русские шрифты скомпилированные мной для него можно скачать тут.


Теперь о русификации программ для XFree86

Window Managers:
    IceWM
    Тут никаких проблем не возникнет. Для корректного отображения русских букв в меню и заголовках окон поменяйте в файле E:\XFree86\lib\X11\icewm\preferences строки
    
    TitleFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*"
    MenuFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*"
    StatusFontName="-adobe-courier-medium-r-*-*-*-140-*-*-*-*-*-*"
    NormalTaskBarFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*"
    ActiveTaskBarFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*"
    
    на
    TitleFontName="-cronyx-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-*"
    MenuFontName="-cronyx-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-*"
    StatusFontName="-cronyx-courier-medium-r-*-*-*-140-*-*-*-*-koi8-*"
    NormalTaskBarFontName="-cronyx-helvetica-medium-r-*-*-*-120-*-*-*-*-koi8-*"
    ActiveTaskBarFontName="-cronyx-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-*"
    
  • Enlightment/2 К сожалению мне пока не удалось добиться корректной русификации этого отличного wm. Как только я достигну успеха - я напишу про это в статье.
Приложения на GTK (gnome-games, gnapster, xchat и т.д.).
Для того, чтобы приложения использующие GTK перестали показывать кракозябру в меню и окнах поместите файл
.gtkrc в вашу %home% директорию.

Gimp/2.
Несмотря на то, что gimp собран на GTK он не использует общий файл настроек. С русским у вас не будет проблем если после установки заменить в файле \XFree86\lib\X11\.gimp-1.1\data\gtkrc строки


style "ruler"
{
font = "-adobe-helvetica-medium-r-normal--*-80-*-*-*-*-*-*"
}
style "default"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
}
на
style "ruler"
{
font = "-cronyx-helvetica-medium-r-normal--*-60-*-*-*-*-koi8-*"
}
style "default"
{
font = "-cronyx-helvetica-medium-r-normal--*-80-*-*-*-*-koi8-*"
}
Вот и всё. Если у вас остались вопросы - задавайте их в форуме и я постараюсь вам ответить.


Обсудить материал (число отзывов:0)


предыдущий материал  |  следующий материал


 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская


Новости
15/08: GoldenCode выпустит Java 1.4 для OS/2
14/06: Fix #16 rus / Warp4
30/05: Перерыв в работе OS2.Ru
Все новости..

В каталоге
Дерево каталога
Новые поступления

Публикации
Боремся с зависанием PM и зомби - WatchCat + HardKill
(Samorukov Alex , 2001-10-11)

DSync - куда может быть проще?
(Okounkov Konstantin, 2001-09-28)

WarpGoGo: переводим музыку в MP3
(Okounkov Konstantin, 2001-09-26)

Все материалы

Решения
Tips & tricks

Активные опросы
Используете ли Вы OS2.Ru tab в Netscape ?

Все опросы
Первая страница  |   Об OS/2  |   Новости  |   Публикации  |   База данных  |   Каталог ресурсов  |   Биржа труда  |   TeamDB  |   Форумы общения  |   Опросы и голосования  |   OS2.Ru DevCenter
Дизайн, оформление © 1996-2000 Copyright WebTeam. Использование материалов OS2.Ru без согласия авторов и координаторов запрещено
Powered by OS/2