Original site in Ukraine | Mirror in Canada


The Linux Ukrainian HOWTO

Не дуже коротка передмова...
На ц╕й стор╕нц╕ я постараюся висв╕тлити вс╕ проблеми, котр╕ треба вир╕шувати при укра╖н╕зац╕╖ (точн╕ше - локал╕зац╕╖) Л╕нукса. Вс╕ настройки описуються для RedHat 4.x, але особливих проблем при застосуванн╕ ╖х для ╕нших реал╕зац╕й не повинно бути. Звичайно, розв'язати будь-яку проблему можна дек╕лькома р╕зними шляхами, але на дан╕й стор╕нц╕ мало уваги прид╕ля╓ться ус╕м можливим вар╕антам. Отож, якщо хтось зна╓ як╕сь тонкощ╕ ╕ хитрощ╕ укра╖н╕зац╕╖ р╕зних програм, я з рад╕стю вислухаю ╖х ╕ опишу тут для загального ознайомлення.
Дуже рекомендую почитати The Linux Cyrillic HOWTO у викладенн╕ Alexander L. Belikoff. Також раджу сходити на KOI8-R References (Russian Net Character Set)Андрея Чернова.
На жаль, у момент створення дано╖ стор╕нки rfc на koi8-u ще не прийнятий, тому весь нижченаведений матер╕ал базу╓ться на koi8-u draft.
У майбутньому буде зроблена спроба створити "easy to install package", який буде м╕стити вс╕ необх╕дн╕ файли ╕ засоби для укра╖н╕зац╕╖. ╤ звичайно ж, я буду радий будь-яким зауваженням, побажанням, ╕ особливо похвалам. 
Так що не забувайте сюди заглядати, можливо щось буде м╕нятися...
[ 21.04.98 ] rfc вже прийняли! Його номер - rfc 2319. З чим вс╕х ╕ поздоровляю!
[ 05.08.98 ] У зв'язку з тим, що я нак╕нець отримав можлив╕сть познущатися над glibc-верс╕╓ю Linux-а, а саме RedHat 5.1, я додав деяку ╕нформац╕ю, зв'язану з в╕дм╕нностями в укра╖н╕зац╕╖ libc-5 ╕ glibc-2 реал╕зац╕й системи. Ц╕ в╕дм╕нност╕ проявилися поки що лише в Локал╕зац╕╖. Також були забран╕ "зайв╕" блимаюч╕ ╕конки, оск╕льки стор╕нка виглядала занадто рясною. 

Зм╕ст:


Консоль
Для укра╖н╕зац╕╖ консолу краще використовувати пакет ruscii в╕д Igor Romanenko. Перекодування з koi8-u зд╕йсню╓ться на льоту. Тобто, вв╕д ╕ збереження ╕нформац╕╖ в╕дбува╓ться в koi8-u, а в╕дображення на екран╕ - в ruscii. Така дивна на перший погляд техн╕ка застосову╓ться для того, щоби символи псевдограф╕ки зображались коректно, наприклад в Midnight Commander (mc) або Demos Commander (deco).
Береться пакет console-koi8u.tgz (ftp.cn.ua 12109 байт) ╕ розгорта╓ться в╕дносно /usr/lib/kbd чи ╕ншого каталогу, де знаходяться шрифти ╕ розкладки клав╕атури для консолу.
tar -zxvf console-koi8u.tgz -C /usr/lib/kbd
Тепер потр╕бно покласти файл keytable (ftp.cn.ua 680 байт) в /etc/rc.d/init.d або пор╕вняти його з уже наявним там файлом. Не забути встановити права доступу:
chmod a+x keytable
В /etc/rc.d/rc?.d перев╕рити наявн╕сть посилань S??keytable на /etc/rc.d/init.d/keytable. А в /etc/sysconfig пом╕стити файл keyboard (ftp.cn.ua 116 байт). Вважа╓ться, що в комп'ютер╕ сто╖ть в╕деоадаптер VGA або кращий. Для EGA в файл╕ /etc/sysconfig/keyboard у рядку, що м╕стить SCREENFONT="/usr/lib/kbd/consolefonts/RUSCII_8x16", зам╕ня╓ться 8x16 на 8x14, а для CGA - на 8x8.
П╕д час наступного завантаження комп'ютера п╕дтримка koi8-u буде актив╕зована автоматично. Переключання клав╕атури зд╕йсню╓ться правою клав╕шею Ctrl для рос╕йсько╖ мови ╕ правою клав╕шею Alt - для укра╖нсько╖. Для ручно╖ актив╕зац╕╖ потр╕бно виконати команду
/etc/rc.d/init.d/keytable start
Потр╕бно зауважити, що вв╕д рос╕йських чи укра╖нських букв у командн╕й стр╕чц╕ (в shell) неможливий без правильно╖ настройки файлу ~/.inputrc
Для коректно╖ роботи joe його потр╕бно запускати з ключом -asis. Для використання less потр╕бно встановити зм╕нну оточення LESSCHARSET - наприклад, в bash це буде виглядати так:
export LESSCHARSET=koi8-r


Локал╕зац╕я
Локал╕зац╕я потр╕бна для правильного сортування, виводу грошово╖ одиниц╕, дати ╕ часу в локальному формат╕. Для роботи locales потр╕бно Linux libc 5.4.x з п╕дтримкою locales або glibc 2.x. Нижчевикладений опис наводиться для Linux libc 5.4.33. locale-ua-1.2.tgz (ftp.cn.ua 4816 байт) [ 03.05.98 ] розгорта╓ться в каталог /usr/share/locale командою
tar -zxvf locale-ua-1.2.tgz -C /usr/share/locale
[ 05.08.98 ] У випадку з glibc потр╕бно використовувати locale-ua-glibc-1.2.tgz (ftp.cn.ua 22102 байт). Для встановлення потр╕бно зд╕йснити процедури, аналог╕чн╕ попередн╕м:
tar -zxvf locale-ua-glibc-1.2.tgz -C /usr/share/locale
Цей пакет м╕стить uk_UA и ru_UA locales. Перша частина у назв╕ означа╓ мову, якою буде "розмовляти" система, а друга - рег╕он, в якому буде використовуватися ця локал╕зац╕я. Таким чином uk_UA м╕стить правила сортування укра╖нських букв, назви грошово╖ одиниц╕, дн╕в тижня ╕ м╕сяц╕в укра╖нською мовою, в той час як в ru_UA ус╕ назви рос╕йською мовою.
Для того, щоби пов╕домити тим програмам, як╕ п╕дтримують локал╕зац╕ю, про ╖╖ поточний стан, потр╕бно встановити зм╕нну оточення LANG (якщо встановлюються окрем╕ частини локал╕зац╕╖, то - LC_COLLATE для сортування, LC_CTYPE для класиф╕кац╕╖ символ╕в, LC_MESSAGES для визначення можливих вар╕ант╕в "так/н╕", LC_MONETARY для описання грошово╖ одиниц╕, LC_NUMERIC для числових под╕льник╕в, LC_TIME для опису дати ╕ часу ╕ LC_ALL для всього разом):
export LANG=uk_UA
Перев╕рити поточну локал╕зац╕ю можна командами localecal. Перша да╓ стан вищеописаних зм╕нних оточення, а друга виводить календар на поточний м╕сяць - у випадку правильно╖ роботи locales назви м╕сяця ╕ дн╕в тижня будуть по-укра╖нськи для uk_UA ╕ по-рос╕йськи для ru_UA.
Також вищевказан╕ locales можна отримати з висх╕дних текст╕в locale-ua-1.2.src.tgz (ftp.cn.ua 53635 байт) [ 03.05.98 ] командами:
tar -zxvf locale-ua-1.2.src.tgz -C /usr/share/i18n
cd /usr/share/i18n/locale
localedef -ci uk_UA -f KOI8-U uk_UA
localedef -ci ru_UA -f KOI8-U ru_UA
П╕сля чого у каталогах /usr/share/locale/uk_UA ╕ /usr/share/locale/ru_UA появляються в╕дпов╕дно uk_UA ╕ ru_UA locales. Треба зауважити, що м╕сцезнаходження файл╕в локал╕зац╕х можна взнати командою
localedef --help
[ 05.08.98 ] В glibc-верс╕╖ назви каталог╕в з висх╕дними файлами локал╕зац╕╖ в /usr/share/i18n зм╕нилися: charmap на charmaps ╕ locale на locales. Тому встановлювати потр╕бно файл locale-ua-glibc-1.2.tgz так, як описано вище. Кр╕м зм╕нених назв каталог╕в у ньому в╕дсутн╕й файл en_DK, який використову╓ться як шаблон в u_UA и uk_UA, ╕ який входить у реал╕зац╕ю. Також в RedHat 5.1 стали використовувати локал╕зац╕ю так╕ засоби, як ls и date.
[ 03.05.98 ] У зв'язку з виходом rfc на koi8-u locales були дещо зм╕нен╕. Також ua_UA був перейменований на uk_UA.


X-Window
Укра╖н╕зац╕я X-Window, як ╕ консолу, поляга╓ у встановленн╕ екранних шрифт╕в ╕ переключателя клав╕атури. Усе сказане нижче стосу╓ться XFree86, в ╕нших випадках деяк╕ моменти можуть в╕др╕знятися. Font server в X-Window п╕дтриму╓ шрифти як зм╕нного, так ╕ незм╕нного маштаб╕в. В ╤нтернет╕ ╖х ╓ велика к╕льк╕сть: рос╕йських ╕ укра╖нських.
Для встановлення Cronyx шрифт╕в koi8-r потр╕бно взяти пакет fonts-2.0.tgz (ftp.cn.ua 830374 байт) ╕ розгорнути його в каталог /usr/X11R6/lib/X11/fonts наступною командою:
tar -zxvf fonts-2.0.tgz -C /usr/X11R6/lib/X11/fonts
Також ц╕ шрифти можна отримати з висх╕дних текст╕в fonts-2.1.1-src.tgz (ftp.cn.ua 165484 байт):
tar -zxvf fonts-2.1.1-src.tgz
cd xrus-2.1.1-src
пот╕м поправити Makefile: усунути коментар╕й з рядку DIRS = 75dpi 100dpi misc, закоментувати рядок DIRS = 75koi8 75dpi 100dpi misc ╕ запустити
make X11R6
Укра╖нськ╕ Gemini koi8-u шрифти встановлюються з пакету gemini-koi8-u.tgz (ftp.cn.ua 449236 байт) в каталог /usr/X11R6/lib/X11/fonts
tar -zxvf gemini-koi8-u.tgz -C /usr/X11R6/lib/X11/fonts
Висх╕дн╕ тексти цих шрифт╕в знаходяться в пакет╕ X-koi8u.tgz (ftp.cn.ua 90253 байт) ╕ встановлюються наступним чином:
mkdir X-koi8u
tar -zxvf X-koi8u.tgz -C X-koi8u
cd X-koi8u
make
make install
У файл╕ /etc/X11/XF86Config в секц╕╖ "Files" треба виправити параметр FontPath - на початок додати розташування нових шрифт╕в:

Section "Files"
   RgbPath    "/usr/X11R6/lib/X11/rgb"
   FontPath   "/usr/X11R6/lib/X11/fonts/ukr"
   FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
   FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
   FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
   FontPath   "/usr/X11R6/lib/X11/fonts/Type1"
   FontPath   "/usr/X11R6/lib/X11/fonts/Speedo"
   FontPath   "/usr/X11R6/lib/X11/fonts/misc"
   FontPath   "/usr/X11R6/lib/X11/fonts/75dpi"
   FontPath   "/usr/X11R6/lib/X11/fonts/100dpi"
EndSection
В каталоз╕ /usr/X11R6/lib/X11/fonts/ukr знаходяться koi8-u gemini шрифти, а в каталогах /usr/X11R6/lib/X11/fonts/cyrillic/* - koi8-r cronyx шрифти. Потр╕бно звернути увагу на порядок занесення ╕нформац╕╖ про фонти: оск╕льки п╕д час використовування якоюсь програмою шрифту без означення його точних параметр╕в (foundry, registry, encoding и т.д.) шрифт буде шукатися спочатку в каталогу ukr, а пот╕м в ╕нших каталогах.
Для переключання клав╕атури з одн╕╓╖ розкладки на ╕ншу потр╕бно встановити пакет xruskb-1.5.0.tar.gz (ftp.cn.ua 71029 байт) в╕д Alexander V. Lukyanov. Для його комп╕ляц╕╖ потр╕бн╕ б╕бл╕отеки Motif, Lesstif або Xaw. У випадку в╕дсутност╕ цих б╕бл╕отек xrus все одно буде працювати, але поточний стан розкладки клав╕атури на екран╕ в╕дображатися не буде.
tar -zxvf xruskb-1.5.0.tar.gz
cd xruskb-1.5.0
./configure
make
make install
П╕сля цього в каталог /usr/local/xrus (або той, в який про╕нсталювався xrus) розгорта╓ться jcuken-ukr.tgz (ftp.cn.ua 2565 байт), в /usr/X11R6/lib/X11/app-defaults перепису╓ться файл Xrus (ftp.cn.ua 10024 байт) ╕ в файл╕ /etc/X11/xinit/xinitrc перед запуском vwm (Virtual Window Manager) дода╓ться команда запуску xrus.
Вже скомп╕льован╕ верс╕╖ xrus 1.4.2 з динам╕чною ╕ статичною п╕дтримкою Motif ( xrus.dynamic-Motif.tgz (ftp.cn.ua 15634 байт) ╕ xrus.static-Motif.tgz (ftp.cn.ua 434882) в╕дпов╕дно) розгортаються в каталог /usr/local/xrus и настроюються так само, як описано вище для пакету з висх╕дними текстами. 

Netscape
На жаль, а н╕ Netscape Navigator, а н╕ Netscape Communicator н╕чого не знають про koi8-u, оск╕льки rfc на koi8-u ще не прийнятий. Для перегляду WWW ╕ читання лист╕в/новин на укра╖нськ╕й мов╕ можна настро╖ти кодування User-Defined - вказати koi8-u шрифти в Edit->Preferences->Fonts. Але писати в цьому кодуванн╕ не сл╕д, оск╕льки не вс╕ зможуть це прочитати.
Все решта, як от список новин ╕ лист╕в, список папок ╕ конференц╕й, плаваючих п╕дказок ╕ т.д. можна укра╖н╕зувати шляхом встановлення файлу: .Xdefaults (ftp.cn.ua 1960 байт) в домашн╕й каталог або долученням його до вже ╕снуючого.


Apache
Для коректного в╕дтворення web-стор╕нок в р╕зних кодуваннях потр╕бно встановити Russian Apacheapache_1.2.6rusPL22.2.tar.gz ╕ в його конф╕гурац╕йний каталог (переважно etc/httpd/conf) розгорнути укра╖нськ╕ таблиц╕ перекодування apache-ukr-tables.tgz (ftp.cn.ua 5582 байт):
tar -zxvf apache-ukr-tables.tgz -C /etc/httpd/conf
[ 03.05.98 ] Остання верс╕я Russian Apache 1.2.6 PL22.2


Wabi
Wabi 2.0 ╓ емулятором MS Windows 3.x. В╕н використову╓ Windows ttf-шрифти, як╕ м╕стять укра╖нськ╕ букви. А для переключення клав╕атури можна використовувати пакет xruskb з укра╖нськими розкладками jcuken-ukr, як╕ описуються в розд╕л╕ X-Window ╕ м╕стять рос╕йську ╕ укра╖нську розкладки в кодуванн╕ cp1251. 


KDE
Для переключення клав╕атури в KDE (K Desktop Environment) можна використовувати пакет xruskb, описаний в розд╕л╕ X-Window, але ╕сну╓ спец╕ально створена для цього Александром Будником програма kikbd-0.1.6.tgz (ftp.cn.ua 127093 байт). П╕сля ╕нсталяц╕╖, у каталог /usr/local/kde/share/apps/kikbd розгорта╓ться пакет укра╖нських розкладок koi8-u ╕ cp1251 kikbd-ukr.tgz (ftp.cn.ua 1261 байт)
[ 24.02.98 ] Нова верс╕я 0.1.7 вже м╕стить укра╖нськ╕ розкладки клав╕атури ╕ ╕нш╕ корисн╕ нововведення.
[ 21.04.98 ] Остання верс╕я - kikbd-0.2.1.tgz


PostgreSQL
У цьому розд╕л╕ опису╓ться не укра╖н╕зац╕я, а доробка PostgreSQL для роботи з р╕зними кириличними кодуваннями, в тому числ╕ ╕ укра╖нськими, такими як koi8-u, cp1251 и т.д. Справа у тому, що кл╕╓нт SQL може працювати на дов╕льн╕й платформ╕, наприклад в Windows через ODBC ╕ використовувати при цьому кодування cp1251, в той час, як сервер переважно використову╓ koi8 кодування. Даний патч передбача╓ розв'язок ц╕╓╖ проблеми шляхом перекодування ╕нформац╕╖ з одно╖ кодово╖ стор╕нки в другу в залежност╕ в╕д адреси кл╕╓нта. pgsql-charsets-6.3-4.patch.gz (ftp.cn.ua 6653 байт) встановлю╓ться поверх ориг╕нального коду PostgreSQL 6.3 beta (snapshot в╕д 18.02.98 або п╕зн╕шого) в каталоз╕ /usr/src/pgsql командами:
gzip -d pgsql-charsets-6.3-4.patch.gz
mv pgsql-charsets-6.3-4.patch /usr/src/pgsql/src
cd /usr/src/pgsql/src
patch -p0 <pgsql-charsets-6.3-4.patch
autoconf
./configure --enable-recode
gmake all
gmake install
[ 10.03.98 ] Рел╕з PostgreSQL 6.3 м╕стить цей патч перекодування! На превеликий жаль ╕ з нев╕домо╖ причини, ╕нформац╕я в файлах каталогу src/data виявилась "продубльована". Це не в╕добража╓ться на робот╕ перекодовувача, але факт залиша╓ться фактом...
Як ╕ у випадку з патчем, для включення перекодовувача потр╕бно запустити:
./configure --enable-recode
gmake all
gmake install
[ 21.04.98 ] У верс╕╖ 6.3.1 вищеописаний недол╕к був виправлений. Остання верс╕я - PostgreSQL 6.3.2


Посилання


 
Останн╕ зм╕ни зроблен╕.
© Copyright 1998 Denis V. Dmitrienko. All Rights Reserved.
denis@null.net
Ukrainian translation and maintaining mirror in Canada by Oleh Baran