| Главная > Операционные системы > Linux > |
| RU.LINUX FAQ [4/8] |
3. РусификацияЗначительная часть этого раздела написана Alexander Voropay. 3.1 У меня проблемы с русским в...Проблему русификации можно разделить на несколько частей :
Существует Cyrillc-HOWTO http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/Cyrillic-HOWTO, однако он довольно долго не обновлялся и больше не поддерживается, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998), перевод: http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian-old/Cyrillic-HOWTO.html. Евгений Балдин создал новую версию Cyrillic-HOWTO на русском (версия не имеет английского перевода и не включена в официальную базу HOWTO). Доступна здесь : http://www.inp.nsk.su/~baldin Лучше всего сперва искать решение проблемы здесь и лишь потом - в Cyrillic-HOWTO (англоязычном). 3.2 Русификация консоли.В системе Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой : kbd и consoletools. ftp://ftp.win.tue.nl/pub/linux/utils/kbd/ или ftp://ftp.kernel.org/pub/linux/utils/kbd/ В разных дистрибутивах применяются или один, или другой. Например, в Red Hat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в Red Hat 6.x и выше применяется уже другой пакет - consoletools. Существует Keyboard-and-Console-HOWTO, автор этого HOWTO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) http://linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd): $ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "\033(K" $ loadkeys ru1Если используется пакет console-tools: $ consolechars -f UniCyr_8x16 -m koi8-r $ echo -ne "\033(K" $ loadkeys ru1См. man на соответствующие команды и 'man console_codes'. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное. NB! К сожалению, в пакете console-tools некоторые русские фонты не содержат UNICODE screen-font map (SFM) и в таком виде попадают во многие дистрибутивы. Исправленные фонты живут в пакете console-tools-cyrillic: ftp://ftp.ice.ru/pub/fonts/linux/ Как правило, настройка шрифтов и клавиатуры скрыта среди стартовых скриптов, а ключевые управляющие параметры вынесены в отдельные файлики. Иногда существуют даже специальные программы настройки. "Идеологически правильно" не нарушать системную архитектуру дистрибутива, а всего лишь поменять настройки в этих файликах. К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли. Если вы хотите видеть русские буквы и рамки (например в mc) на консоли одновременно, используйте только TERM=linux . У вас будут проблемы при работе консоли в CP-866 из-за того, что некоторые русские буквы в этой кодировке совпадают со "старшими" управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим ESC (CSI). Работайте в KOI8-R. 3.3 Мне говорят "Настрой локаль!" Что это значит ?Речь идет о настройке системной locale. Проверить установки можно, просто сказав locale: $ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами 'cal' или 'date' - даты должны быть на русском. На самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками. $ export LANG=ru_RU.KOI8-RВ Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка LANG=ru_RU.KOI8-R 3.4 Как настроить locale ? Я установил LANG, но русских дат нет.Прежде всего - подробная дока о locale имеется на http://www.sensi.org/~alec/locale. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.) Система X-Window и библиотеки Xlib и Xt имеют собственные механизмы локализации (XLC_LOCALE) которые являются "надстройкой" над системной locale. Подробности: {X11Root}/doc/i18n (в RedHat: /usr/share/Xfree86-doc/i18n). Документация в .PS http://www.tsu.ru/~pascal/x_locale/. Хотя в принципе допустимо задавать короткое именование, вроде LANG=ru_RU или даже LANG=ru, лучше использовать _полное_ имя : LANG=ru_RU.KOI8-R . Совершенно недопустимо задавать LANG=ru_SU, такой страны больше нет :-) К сожалению, не все дистрибутивы "от рождения" позволяют использовать ru_RU.KOI8-R . Воспользуйтесь 'locale -a' для получения списка допустимых значений. Если в списке нет значения ru_RU.KOI8-R, его нужно добавить, а то LANG= будет указывать "в пустоту" : $ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R Computing table size for character classes might take a while... done Computing table size for collation information might take a while... done $ $ cd /usr/lib/locale $ mv ru_RU.koi8r ru_RU.KOI8-R(в старых версиях - /usr/share/locale) NB! Утилита localedef фомирует "сжатое" (mangled) имя кодировки, так что имя превращается в "ru_RU.koi8r". Это приводит в замешательство некоторые программы. Но к счастью, все же можно установить полное имя LANG="ru_RU.KOI8-R" и благодаря mangling-у все будет работать и программы будут счастливы. Еще один вариант -- переименовать каталог. Некоторые дистрибутивы неправильно включают LANG=ru LC_ALL=ru_RU.KOI8-RЭто НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на http://www.sensi.org/~alec/locale/ в главе "Как включить..." 3.5 Как отключить вывод сообщений на русском, сохранив при этом остальные свойства русской локали ?Нужно определить переменные окружения : LANGUAGE=en_US LC_MESSAGES=en_USВ RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n . 3.6 Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит.Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе). Чтобы отучить библиотеку readline от этого, необходимо определить переменную INPUTRC=/etc/inputrcКроме того, создать файл /etc/inputrc set meta-flag on set convert-meta off set output-meta onПосле этого библиотека readline (и bash) начнет воспринимать русские буквы. Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя. См. man readline. 3.7 * Как выставить нужную локаль для jvm?В принципе, она должна "унаследоваться" от системной локали, LANG=ru_RU.KOI8-R (или ru_RU.UTF-8) Если не выходит, попробуйте : $ java -Duser.language=ru -Duser.region=RU -Dfile.encoding=koi8-r 3.8 Red Hat и русификацияCоздаем файлик /etc/sysconfig/i18n. Внутри должно быть что-то вроде: SYSFONT=UniCyr_8x16 SYSFONTACM=koi8-r LANG=ru_RU.KOI8-RРаскладка клавиатуры выбирается утилитой kbdconfig и прописывается в файл /etc/sysconfig/keyboard, в виде: KEYTABLE=ru1Эти файлы используются в скриптах /etc/rc.d/rc.sysinit, /sbin/setsysfont. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если возникли вопросы или проблемы. 3.9 Debian и русификацияDebian 2.2: Насторойка фонтов запускается из /etc/init.d/console-screen.sh /etc/console-tools/config: # SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi8-r # APP_CHARSET_MAP_vc2=koi8-r APP_CHARSET_MAP_vc3=koi8-r APP_CHARSET_MAP_vc4=koi8-r APP_CHARSET_MAP_vc5=koi8-r APP_CHARSET_MAP_vc6=koi8-rФонты нужно заменить, взяв правильные из console-tools-cyrillic. Клавиатура настраивается из /etc/init.d/keymaps-lct.sh и загружает раскладку /etc/console-tools/default.kmap.gz Именно под этим именем нужно разместить требуемую раскладку или создать symlink. Для интерактивного выбора клавиатуры есть полезная утилита: kbdconfig. /etc/environment: LANG=ru_RU.KOI8-R 3.10 Как установить русские фонты KOI8-R на XFree86 ?В современных дистрибутивах они скорее всего уже стоят. Первым делом (на работающем X сервере) запустите : $ xlsfonts -fn "*-koi8-r"Если список не пустой - примите наши поздравления :-) Начиная с версии XFree86 3.3.2 русские фонты cronyx-* входят прямо в дистрибутив XFree. Если фонтов нет -- их нужно установить. Для Red Hat просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты установятся в /usr/X11R6/lib/X11/fonts/cyrillic . Далее нужно подключить шрифты к X Window. Убедитесь, что в файле /etc/X11/XF86Config прописан путь : Section "Files" ... FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" ... EndSectionПуть с cyrillic лучше всего поставить первым. Перезапустите X сервер и проверьте командой : xlsfonts -fn "*-koi8-r" . Еще см. вопрос "Где найти хорошие русские шрифты для иксов?" Про подключение шрифтов TrueType также имеется отдельный ответ, в разделе про X Window. Хорошим решением также будет использование фонт-сервера. Во-первых, он может быть один на всю организацию, а во-вторых в современные фонт-серверах можно использовать шрифты TrueType. Для Red Hat фонт-сервер xfsft входит в пакет XFree86-xfs. http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/ 3.11 * Как сделать так, чтобы в X Window русские буквы вводились везде ?Существует два основных способа русификации клавиатуры X :
Section "Keyboard" ... XkbRules "xfree86" XkbModel "pc101" XkbLayout "ru" XkbOptions "grp:shift_toggle" EndSectionДля X 4.0.x Section "InputDevice" ... Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp:shift_toggle" EndSectionВ зависимости от клавиатуры опция Model может быть "pc101", "pc104" или "pc105", а комбинации переключения: grp:toggle правый Alt (с "фиксацией") grp:caps_toggle Caps_Lock grp:shift_toggle два Shift grp:ctrl_shift_toggle Control+Shift grp:ctrl_alt_toggle Control+AltДля 4.0.x добавились новые : grp:alt_shift_toggle Alt+Shift grp:menu_toggle Menu (модель должна быть pc104, pc105)В XFree 4.3 (и 4.2.99 также) изменились правила настройки Xkb. Каждая layout теперь содержит только один вариант клавиатуры. Поэтому выбор xkbLayout "ru" не позволяет вводить английские буквы. Зато повилась возможность комбинировать больше двух раскладок, просто через запятую. Правильная настройка xkb может выглядеть следующим образом: Section "InputDevice" Identifier "Keyboard0" Driver "Keyboard" Option "AutoRepeat" "500 30" Option "XkbModel" "microsoft" Option "XkbLayout" "us,ru(winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle" EndSectionИ еще. поэкспериментировать с настройками xkb "на ходу" можно с помощью команды $ setxkbmap -layout 'us,ru(winkeys)' -model microsoft -option grp:ctrl_shift_toggleВ этом случае изменения коснутся только порожденных окон. Если есть проблемы с XKB, прочтите http://www.tsu.ru/~pascal/other/xkb/ Там же есть ссылки на "переключатели клавиатуры", например xxkb, описание, как использовать несколько раскладок одновременно, назначать клавиши переключения раскладок и много других интересных вещей. Наиболее развитая программа для переключения клавиатуры через способ xmodmap : xruskb от Alexander V. Lukaynov ftp://ftp.yars.free.net/pub/software/unix/X11/ (primary site) ftp://ftp.relcom.ru/pub/x11/cyrillic/ Она может понадобиться для русификации X11R5 терминалов, например железных, или эмуляторов под MS Windows. Для ее применения с XFree86 лучше отключить модуль XKB в /etc/X11/XF86Config директивой XkbDisable. Правильная раскладка для xruskb: jcukeng-cyr.xmm Проверить русификацию X можно программой xev: клавиатура должна генерировать правильные XkeySym для кириллицы (0x6xx), а xev должна показывать Cyrillic_IE и пр. при нажатии русских букв, а не OCyrcumflex e.t.c. 3.12 Как cмонтировать диск, чтобы русские имена файлов были видны ?Для vfat примерно так (cтрочка из /etc/fstab/): /dev/hda5 /mnt/d vfat noexec,rw,umask=002,codepage=866,iocharset=koi8-r,gid=100 0 0 Потом mount /mnt/d. Еще в ядро (>=2.0.36) должны быть включены соответствующие кодовые страницы (возможно, в виде модулей /lib/modules/`uname -r`/fs/nls_*) - CP866 и KOI8-R, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать. Для CD, содержащего файлы с русскими именами: $ mount -t iso9660 -o iocharset=koi8-r /dev/cdrom /mnt/cdromПараметр codepage для isofs не нужен, в файловой системе JOLIET имена файлов хранятся в UNICODE. Смысл этих опций можно узнать в 'man mount' или в документации исходников ядра /usr/src/linux/Documentation/filesystems/ или /usr/doc/kernel/filesystems/ 3.13 Как увидеть русские буквы в именах файлов на диске Samba?Для сервера добавить в /etc/smb.conf [global] character set = koi8-r client code page = 866 preserve case = yes short preserve case = yes default case = lower mangle case = noЧтобы правильно монтировались smb разделы надо при компиляции ядра указать (ядро должно быть >=2.2.20 ) CONFIG_NLS_DEFAULT="koi8-r" CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp866" CONFIG_SMB_NLS=y CONFIG_NLS=y 3.14 Как перекодировать из DOS/Win кодировки в KOI8-R ?Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Не надо писать новых ;-) Наиболее широко распространены iconv (входит в поставку glibc) и GNU recode (ftp://prep.ai.mit.edu/pub/gnu/recode/) $ iconv -f866 -tKOI8-R -o<outfile> infile $ recode CP1251..KOI8-R winfile.txtЕще один URL для recode - http://www.iro.umontreal.ca/~pinard/recode/. Перекодировщик русского текста с автоматическим определением исходной кодировки: ftp://oskin.macomnet.ru/pub/linux/misc/xcode.c В конце концов сгодится обычный lynx : $ lynx -assume_local_charset cp866 file.txt 3.15 Как с помощью Vim редактировать файлы в различных кодировках?
:e ++enc=cp1251 winfile.txtЗагрузить файл, считая, что он в указанной кодировке, и перекодировать его в кодировку, в которой работает редактор. 3.16 Как создавать и редактировать файлы в UTF-8 в редакторе VIM ?VIM должен быть версии 6.x и собран с поддержкой Multibyte: configure --with-features=huge --enable-multibyteПредположим, консоль русифицирована в KOI8-R, тогда в VIM надо дать команды : :set encoding=utf-8 :set fileencoding=utf-8 :set termencoding=koi8-rВ RedHat VIM разнесен на несколько пакетов. vim-common-6.1-2 vim-minimal-6.1-2 vim-enhanced-6.1-2Редактор vi, входящий в vim-minimal собран без Multibyte, vim из vim-enhanced -- с поддержкой. Надо пользоваться редактором vim. 3.17 Можно ли научить Vim понимать хоткеи, когда включена русская раскладка клавиатуры?В /.vimrc: set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo и т.д. 3.18 Как прикрутить к Golded/LNX почтовую базу в 866 кодировке ?Во-первых, нужно взять GoldEd+ c http://golded-plus.sourceforge.net. Кроме того, нужно взять таблицы перекодировки (например из пакета русификации, проходившего по файлэхе aftnged и лежащего на http://collage.etel.ru/fileechos/ftn/ и прописать их в golded.cfg, примерно так: AREAPATH /mnt/c/fido/fecho/ AREAFILE FastEcho XLATPATH /home/ak/.golded/chars XLATLOCALSET KOI8 XLATIMPORT IBMPC XLATEXPORT IBMPC XLATCHARSET KOI8 IBMPC koi_866.chs XLATCHARSET IBMPC KOI8 866_koi.chs IGNORECHARSET 3.19 Можно ли в mc увидеть pусские буквы?Можно. F9 - options - display bits - Full 8 bit В последних версиях 'mc' появилась поддержка различных Charset-ов . Эта опция должна быть включена при компиляции 'mc' . $ ./configure --enable-charset .... 3.20 lessYuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org пишет: при настроенной локали указывать LESSCHARSET _HЕ HАДО_. Более того, в ~/.lesskey надо добавить #env LESSCHARSET=чтобы он игнорировал установку LESSCHARSET= глупыми программами (к примеру, man :) [после этого надо запустить lesskey для получения бинарного файла ~/.less] В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв. 3.21 telnetЕсли возникают проблемы с вводом русских символов, надо написать файлик ~/.telnetrc со следующей строкой: DEFAULT set outbinaryВы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет. 3.22 Что делать, если "слетела" консоль ?Скорее всего на консоль был скопирован какой-то двоичный файл, где случайно встретилась переключающая ESC-последовательность. Тогда : Сброс терминала : $ echo -ne "\033c"набрать вслепую, или с работающей консоли : # echo -ne "\033c" >/dev/ttyXПереключение на downloaded font $ echo -ne "\033(K"(возможно, еще придется перегрузить фонты, но это смотря как консоль сорвало...) Если вывалилась какая-то программа, которая использует curses, то проще $ stty saneВ Red Hat все это делают reset; setsysfont <ctrl-j> reset - из ncurses См. 'man console_codes' и 'man stty' 3.23 Как русифицировать TeX под koi8-r?Все вопросы по TeX рекомендуется задавать в ru.tex. FAQ из этой конференции и прочая информация по TeX в России находятся по адресу http://myke.webjump.com/tex/. TeX и LaTeX во всех современных дистрибутивах говорят по-русски с раздачи. В этом случае имеется документ cyrguide.*, который и содержит развернутый ответ на вопрос о русификации TeX. Переносы не всегда работают "из коробки", иногда надо поправить language.dat, и пересобрать форматы. Вот что пишет Alex Nikiforov: Если уж о последних версиях, то в RH-6.0 с tetex 0.9 у меня получилось так: $ texconfigвыбрать hyphenation -> latexраскомментировать russian Добавить в LaTeX файлах \usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel}и в файле можно переключаться между русским и английским командами \Russian и \Engish Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить cyrtxinf tex language.dat cyrtxinf.iniдля русского texinfo. Аналогично для cyrblue и cyramstx. Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить: initex '\input cyrtex.ini \dump'и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin ) Что бы переключится на русский в этих plain форматах использовать команду \language Nгде N - номер, под которым числится русский язык в получившейся раскладке. В принципе можно заменить в конфигурации ruhypen на ruenhyp и оставить только совместные русско-английские правила переноса, но детально это не проверял и подробно описать не могу. 3.24 Где взять русские Type1 ps фонты в KOI8-R?Современные Type1 фонты в общем не обязаны иметь информацию о "кодировке", а должны просто содержать русские символы с именами глифов типа "afii10049" (Association for Font Information Interchange). О "векторе кодировки" должно заботиться приложение, порождающее ps. См. документы Adobe:
К сожалению, некоторые приложения видят только первые 256 символов Type1 шрифта (Latin1 или ISO_8859-1). Именно для таких приложений нужны "отхаканные" шрифты, где вместо "circumflex" и "cedilla" расположены символы KOI8-R. Взять можно например с: ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/ Прочитайте README. 3.25 Где найти хорошие русские шрифты для X Window System?Кроме распространенных шрифтов Cronyx существуют гораздо более эргономичные шрифты из проекта Cyr-RFX Дмитрия Болховитянова: http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/ Фонт -cronyx-fixed-* с полным соответствием koi8-r , в том числе с рамками: ftp://ftp.ice.ru/pub/fonts/X11 Русские фонты из KSI-Linux: ftp://ftp.ksi-linux.com/pub/patches/ Русские фонты из Black Cat Linux: ftp://ftp.blackcatlinux.com/pub/blackcat-linux/6.2/SRPMS/SRPMS/urw-fonts-2.0-4bc.src.rpm 3.26 Emacs/XEmacsБерем iso8859-5 шрифты с http://www.inp.nsk.su/~bolkhov/files/fonts/cyr_rfx/. Подключаем их к иксам, и выбираем в меню Mule нужную кодировку. Очень благородные изовые шрифты можно взять на любом зеркале GNU в каталоге intlfonts. конкретно, например, ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz (131Кб). В Debian они уже есть. Подробная инструкция по русификации XEmacs имеется по адресу http://www.linux.zp.ua/xemacs/. 3.27 * Как русифицировать MySQL 3.x?Для правильной работы ORDER BY и GROUP BY сервер MySQL должен знать текущий набор символов. К сожалению, версия 3 MySQL может иметь только один charset на все базы одновременно. Задается в /etc/my.cnf : [mysqld] default-character-set=koi8_ruПроверить можно так : mysql> show variables like 'character_sets' ; mysql> show variables like 'character_set' ;В этом случае все символьные поля в таблицах будут храниться в KOI8-R. Для того, чтобы работали клиенты ODBC из под Windows необходимо, чтобы первым SQL оператором в Windows приложении была команда : SET CHARACTER SET cp1251_koi8 ;Тогда включится перекодировка "на лету". На сервере будет KOI8-R, а на клиенте Windows-1251 и все сортировки будут работать. Эту же команду можно прописать в MyODBC 3.x "SQL command on connect". Другой вариант -- хранить базы в Windows-1251 и сообщить об этом серверу, прописав в /etc/my.cnf : [mysqld] default-character-set=cp1251 3.28 Как pусифициpовать dosemu ?Клавиатуpа - любым досовым pусификатоpом. Кроме того, есть патчик в http://www.ice.ru/~vitus/misc/, который позволяет обойтись без русификатора клавиатуры. В X-ах - рекомендуется, так как позволяет избежать двух клавиш переключения - одной в DOS другой - на остальном десктопе. При работе с удаленным dosemu (по telnet/ssh/rsh) - необходим. Фонты - в консольном dosemu тем же pусификатоpом, в X-овом - поставить фонт с 866-ой кодиpовкой. Взять можно по адpесам http://www.ice.ru/~vitus/works/x11.html, ftp://ftp.dosemu.org/dosemu/Development/vga_cyr8x16.pcf.gz или http://www.inp.nsk.su/~bolkhov/files/fonts/vga4dosemu/. 3.29 * А как русифицировать OpenOffice/StarOffice (там же - а почему он у меня не ставится и т.п.Установите последний OpenOffice. Для rpm-based дистрибутивов его надо брать с www.altlinux.ru, для Debian - с www.debian-linux.de или с того же altlinux: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/OpenOffice/debian-woody-openoffice/ 3.30 Как русифицировать AbiWord?Обратитесь по адресу http://www.hippo.ru/~hvv/abiword/ 3.31 Как сделать русскоязычный интерфейс в Mozilla?http://www.mozilla.ru/download/ Вот более общая и более удобная в плане установки из самой мозиллы ссылка: http://www.mozilla.org/projects/l10n/mlp_status.html 3.32 Как русифицировать Netscape {4|3}/научить его понимать win-кодировку ?
3.33 Как мне заставить приложение для иксов использовать шрифты с koi8-r, а не iso8859-1 ?a) Постарайтесь выяснить, откуда приложение берет имя фонта. Чаще всего приложение хранит имена используемых фонтов в "базе ресурсов": в персональной /.Xdefaults или системной /usr/X11R6/lib/X11/app-defaults/ базе. Имена используемых фонтов хранится в форме XLFD, т.е. там можно применять "*". Например: Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-rПосмотреть "ресурсы" приложения можно утилитой appres : $ appres XTermВ man практически на любую X программу имеется секция RESOURCES. Если программа написана с применением какого-либо "Toolkit"-а : GTK, Qt, Motif, e.t.c., чаще всего достаточно русифицировать Toolkit. Русификация GNOME/Gtk и Qt таким способом описана чуть ниже. b) С помощью ключа -fn font или -font font. Этот ключ обрабатывается в XLIB и он скорее всего будет работать в любой X программе. c) Метод грубого хака. Нужно взять русские шрифты с ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/, там есть шрифты adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально содержащие кириллицу в koi8-r в старшей половине. При этом шрифты с теми же именами и "настоящими" символами iso8859-1 становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts недостаточно. Кроме того, пути к русским шрифтам в конфиге иксов или фонт-сервера должны быть впереди всех прочих. Однако лучше не использовать этот метод, а написать автору программы (или прислать ему patch ;) для вынесения имени фонта в "ресурс". 3.34 Почему в Gnome или программах, использующих GTK+, кое-где русский текст выводится латиницей? Где прописываются используемые ими шрифты?Если gtk не находит нужных шрифтов (в частности, нужного размера), он режет 8-й бит. Шрифты задаются в /etc/gtk/gtkrc.$LANG. Поэтому нужно создать файл gtkrc.ru или поправить существующий. Внутри должно быть примерно следующее (названия шрифтов, размеры и прочие атрибуты можно исправить по вкусу, но эти шрифты должны содержать кириллицу в koi8-r): style "gtk-default-ru" { fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r" } class "GtkWidget" style "gtk-default-ru"И скопировать этот файл в 'gtkrc.ru_RU.KOI8-R' или сделать symlink: $ cd /etc/gtk/ $ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-RПодробности см. http://www.gtk.org/tutorial/gtk_tut-21.html, а также http://www.linux.org.ru/gnome/ 3.35 Qt и русскоязычные программыhttp://kde.ru/docs.php?action=index 3.36 Как русифицировать KDE?http://www.kde.org/international/russia/localization.html 3.37 Что сделать, чтобы было можно работать в юникодной локали (ru_RU.UTF-8) в консоли и в иксах?К сожалению, "железо" консоли IBM-PC (VGA/SVGA) может отображать только 256 символов одновременно. Еще 32 символа отъедают рамки. Если пожертвовать атрибутами, количество символов можно довести до 512. Для UNICODE явно маловато. См. Console programming HOWTO http://devel.linvision.com/doc/fbh/current/index.html Если устраивают эти ограничения, то переход (пакет console-tools) в/из однобайтового режима консоли в режим UTF-8 осуществляется командами unicode_start(1) и unicode_stop(1) . Узнать текущий режим можно командой vt-is-UTF8(1) . Документация - в console-tools/lct.txt Эмулятор терминала XTerm в X Window не имеет аппаратных ограничений. Запуск : xterm -u8с фонтами *-iso10646-1 . Наиболее современные программы не используют "терминальный ввод-вывод" вообще, а написаны с использованием ToolKit-ов, поддерживающих UNICODE (Qt, GTK, Java .e.t.c.) или напрямую пользуются возможностями GUI X Window. Для правильной работы приложений в UTF-8 необходимо, чтобы системная локаль также была UTF-8, например LANG="ru_RU.UTF-8" . Дополнительная информация: UTF-8 and UNICODE FAQ: http://www.cl.cam.ac.uk/~mgk25/unicode.html The Unicode HOWTO: http://www.tldp.org/HOWTO/Unicode-HOWTO.html How do Unix terminals work?: http://czyborra.com/unicode/terminals.html Unicode Howto for KDE developers: http://developer.kde.org/documentation/library/kdeqt/kde3arch/KDE-Unicode-Howto.html Есть микро-HOWTO вот здесь: http://lists.debian.org/debian-russian/2001/debian-russian-200111/msg00203.html 3.38 Кто занимается переводом документации и пользовательских интерфейсов на русский язык?Russian Linux Documentation Project: http://rldp.linux.ru.net. Ведет Alexsandr Mikhailov, mailto:alexmikh@mail.ru Информация: http://www.tldp.org/vlist.html#te Русская команда перевода GNU: http://www.gnu.org.ru, http://www-ru.gnu.org.ru/, http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ru Проект Алексея Махоткина "Manpages-Ru" посвящен переводу пакета manpages на русский язык. http://www.alexm.here.ru/manpages-ru KDE: http://www.kde.org/international/russia/ GNOME: http://www.linux.org.ru/gnome/ Страница 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Предыдущая | Следующая |
Главная Алфавитный индекс Справка Добавить FAQ E-mail |
Новости Поиск по сайту |
© УкрFAQ 2007 |