Возможно вы искали: 'Evochron Alliance'

May 15 2025 18:30:05
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Локализация Linux (UTF-8 и KOI8-R) (linux rus koi8r unicode locale)

Локализация Linux (UTF-8 и KOI8-R) (linux rus koi8r unicode locale)

Ключевые слова: linux, rus, koi8r, unicode, locale, (найти похожие документы)

From: Артемий Евгеньевич Капитула <dalth@surw.ru>
Date: Mon, 27 Mar 2004 14:31:37 +0000 (UTC)
Subject: Локализация Linux (UTF-8 и KOI8-R)

Оригинал: http://www.surw.ru/~dalth/russian.html


Локализация Linux

Большинство дистрибутивов Linux делаются не в России, и, хотя
существенных проблем с локализацией Linux сейчас уже нет, тем не менее
в новых дистрибутивах у новых пользователей часто возникают проблемы с
Unicode.

В принципе, существует две методики "русификации" Linux: идеологически
правильное (и почти работающее) использование UTF-8, и проверенное
временем использование однобайтовых кодировок - например, KOI8-R (или
CP1251). Необходимые действия будут приводиться для дистрибутивов
RedHat Linux 8/9 и Fedora Core 1.

* Установка шрифтов
* Поддержка ввода кириллицы в X11
* Русификация консоли, выбор локали
* Локаль UTF-8
+ RedHat Linux 9, локаль UTF-8
+ Fedora Core 1, локаль UTF-8
* Локаль KOI8-R
+ RedHat Linux 8/9, локаль KOI8-R
+ Fedora Core 1, локаль KOI8-R
+ Микро-патч для справочного руководства
* "Русские" имена файлов
* Известные баги
* Заключение

Установка шрифтов

Прежде всего, надо установить шрифты TrueType, входящие в поставку
Windows. Проще всего сделать это один раз для всех пользователей
системы. Для этого достаточно сделать следующие шаги:

1. Создать каталог /usr/X11R6/lib/X11/fonts/winttf

2. Скопировать в него все файлы с расширение TTF из каталога Fonts в
системном каталоге Windows

3. Войти в созданый каталог и запустить ttmkfdir

4. Исправить файл /etc/X11/fs/config, добавив в него в секцию
catalogue созданый каталог (для того, чтобы эти шрифты стали
доступны тем приложениям, которые не используют XFT)

5. Исправить файл /etc/fonts/fonts.conf, также добавив туда ссылку на
каталог с TTF-шрифтами

6. Перезапустить сервер шрифтов: /etc/init.d/xfs restart

Следующим шагом необходимо убедить приложения, написанные на GTK-1
использовать наши шрифты, для чего нужно исправить файл
/etc/gtk/gtkrc.ru (необходимо делать с правами пользователя root), и
придать ему примерно следующий вид:

style "gtk-default-ru" {
fontset = "-microsoft-verdana-medium-r-normal--11-110-75-75-p-0-koi8-r"
}
class "GtkWidget" style "gtk-default-ru"

Аналогично исправляем /etc/gtk/gtkrc.utf8, только вместо koi8-r в
конце строки с именем шрифта запишем iso10646-1. iso10646-1 и koi8-r -
это наименования кодовых страниц шрифтов, используемых приложениями
GTK при запуске с соответствующим образом настроенной локалью:

style "gtk-default-ru" {
fontset = "-microsoft-verdana-medium-r-normal--11-110-75-75-p-0-iso10646-1"
}
class "GtkWidget" style "gtk-default-ru"

Все, с установкой и активизацией шрифтов вроде бы в первом приближении
закончено. Конечно, нет предела совершенству - но мы же стараемся
добиться не совершенства, а просто корректной работы при минимальных
затратах?! На всякий случай, для верности порекомендую сходить
FTP-сервер компании AltLinux и скачать с их download-сайта
ftp://ftp.altlinux.ru файлы 75 и 100-dpi шрифтов из репозитория
Sysiphus. Эти файлы содержат исправленные шрифты для XFree86 с
нормальными кириллическими глифами в UNICODE-позициях.


Поддержка ввода кириллицы в X11

Ну, это легко и просто - благо используемый в Linux чаще всего
X-сервер XFree86 написан достаточно гибко. Единственное, что нам будет
нужно - слегка поправить некоторые параметры. Вооружаемся редактором
текста и исправляем /etc/X11/XF86Config. Находим секцию, отвечающую за
клавиатуру, и исправляем ее примерно следующим образом, курсивом
выделены те фрагменты, которые наиболее важны:

Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection

Все, с X11, GTK и прочим разобрались, теперь дело за малым - выберите
наиболее подходящие для вас шрифты в панели управления используемой
вами графической среды (или исправьте конфигурационный файл вашего
Window Manager'а).



Русификация консоли, выбор локали

Прежде чем написать эту часть заметки, я долго терзался выбором: в
какой же кодировке предпочтительней всего было бы работать, в KOI8-R
или UTF-8. Предварительные выводы из этих размышлений примерно такие:
если вы собираетесь использовать Midnight Commander, выбирайте KOI8-R,
если нет - то можете выбрать как KOI8-R, так и UTF-8. Для
RedHat Linux 8 однозначно рекомендую выбрать KOI8-R.


Локаль UTF-8

UTF-8 является многобайтовой кодировкой с переменной длиной символа -
например, символы латиницы кодируются одним байтом, символы кириллицы - уже
двумя. Хотя у UTF-8 есть тот огромный плюс, что она может поддерживать все
языки мира скопом, неотлаженность этого решения приводит ко множеству
"глюков".


RedHat Linux 9, кодировка UTF-8

Скачайте файл ru-utf.map.gz (взять сей файл можно по этой ссылке
http://www.surw.ru/~dalth/themes/ru-utf.map.gz) и
скопируйте его в каталог /lib/kbd/keymaps/i386/qwerty, и после этого
начинаем настраивать конфигурацию (правим файлы настроек):

Файл /etc/sysconfig/i18n

LANG="ru_RU.UTF-8"
SUPPORTED="en_US:en:ru_RU:ru:ru_RU.UTF-8"
SYSFONT="latacyrheb-sun16"

Файл /etc/sysconfig/keyboard

KEYBAORDTYPE="pc"
KEYTABLE="ru-utf"

Все, теперь перезагружаемся - кириллические глифы будут вводиться,
шрифт тоже будет русским. Минусы - медленно работают команды grep,
awk, sed и некоторые другие, в Midnight Commander русский не вводится,
просмотреть и отредактировать файл с русскими буквами не получится.
Переключение в консоли на русские буквы по нажатию правого Control'а,
в X11 - как написали в /etc/X11/XF86Config



Fedora Core 1, кодировка UTF-8

Ничего не трогаем, все и так работает, только переключение
русский-английский производится нажатием правых Ctrl+Shift. Если
хочется использовать правый Control - правим /etc/sysconfig/keyboard
как в предыдущем примере.



Кодировка KOI8-R, все дистрибутивы

Некоторые штатные (входящие в дистрибутив) пакеты разработчики
дистрибутива слегка "подправили" для совместимости с UTF-8, поломав
при этом все остальные кодировки, поэтому скачиваем пакеты
less-358-24.i386.rpm, groff-1.17.2-12.i386.rpm, man-1.5j-6.i386.rpm,
libstdc++-2.96-110.i386.rpm из поставки RedHat Linux 7.3 и
устанавливаем их:

# rpm -i --force libstdc++-2.96-110.i386.rpm
# rpm -U --oldpackage less-358-24.i386.rpm
# rpm -U --oldpackage groff-1.17.2-12.i386.rpm
# rpm -U --oldpackage man-1.5j-6.i386.rpm

Для RedHat Linux 8 необходимо также скачать пакет consoletools из
состава RedHat Linux 7.3 и установить его, предварительно удалив
пакеты kbd и kbdconfig, связано это с несколькими ошибками в скриптах
инициализации:

# rpm -e kbd kbdconfig
# rpm -i consoletools*

Затем во всех трех дистрибутивах правим файл /etc/sysconfig/i18n

LANG="ru_RU.KOI8-R"
SUPPORTED="en_US:en:ru_RU:ru:ru_RU.KOI8-R"
SYSFONT="cyr-sun16"
SYSFONTACM="koi8-u"

Все, подготовка закончена, можно начинать редактирование файлов
конфигурации (действия различаются в зависсимости от дистрибутива).



RedHat Linux 8/9, кодировка KOI8-R

Файл /etc/sysconfig/keyboard

KEYBAORDTYPE="pc"
KEYTABLE="ru"


Fedora Core 1, кодировка KOI8-R

Файл /etc/sysconfig/keyboard

KEYBAORDTYPE="pc"
KEYMAP="ru.map.utf8ru"

Перезагружаемся - кириллические глифы будут вводиться, шрифт тоже
будет русским. Плюсы - нормально работают команды grep, в
Midnight Commander русский вводится, смотрятся и редактируются файлы с
русскими буквами корректно. Переключение в консоли на русские буквы по
нажатию правого Control'а, в X11 - как написали в /etc/X11/XF86Config


Микро-патч для справочного руководства (только для локали KOI8-R)

Прежде, чем приступать к этим действиям, добейтесь работоспособности
русского языка в системе - иначе вы не сможете проверить правильность
своих действий.

В состав любого дистрибутива Linux входят так называемые "маны" (от
английского man, manual). В большинстве своем эти руквовдства
англоязычные, и чтобы облегчить работу не-англоязычным российским
пользователям, добровольцы постепенно производят перевод руководств на
русский язык (за что им огромное спасибо!). Проблема заключается в
том, что в RedHat и Fedora переведенные руководства лежат в кодировке
UTF-8 - а ведь мы "подтачиваем" наши системы в KOI8-R, верно? Значит,
нам нужно перекодировать страницы руководства, и сделаем мы это так:

1. Еще раз бэкап :-)

# cd /usr/share/man/ru
# tar -cvf backup.tar *

2. Создаем скрипт перекодировки

# echo '#!/bin/sh' >rcode
# echo 'zcat "$1" | iconv -f utf8 -t koi8-r | gzip -c >"$1.new" ' >>rcode
# echo 'mv "$1.new" "$1" ' >>rcode

3. Перекодируем

# chmod ugo+rx rcode
# find . | grep gz | gawk '{system("./rcode "$1);}'
# rm -f rcode

Проверяем результат командой man rpm - если вы не увидели ни русского,
ни английского текста, а только кракозяблики - у вас проблемы.
Восстановите предыдущие версии файлов командой tar -xvf backup.tar и
тщательно прверьте, где вы ошиблись.


"Русские" имена файлов

Для начала немного теории: как мы уже знаем, все файловые системы
перед началом их использования должны быть смонтированы. Следовательно
нам необходимо задать опции монтирования файловой системы, "русские"
имена файлов и каталогов на которой мы хотим видеть в приемлемой
форме. Эти опции задаются в файле /etc/fstab и необходимы для файловых
систем FAT (во всех разновидностях) и NTFS.

В файловых системах семейства FAT имена фалов хранятся в однобайтовых
кодировках, причем если на эта файловая система является порождением
локализованной на русский язык версии Windows, то можно смело
утверждать, что русские имена файлов хранятся в кодировке CP866
(кириллица MS-DOS). Соответственно, для записи о монтировании файловых
систем FAT-семейства в файле /etc/fstab должны выглядеть примерно так:

/dev/hda1 /mnt/dos_c vfat defaults,codepage=866,iocharset=koi8-r 0 0
/dev/hda5 /mnt/dos_d vfat defaults,codepage=866,iocharset=koi8-r 0 0

Опция codepage указывает ядру в какой кодировке хранятся имена файлов
на диске, а опция iocharset говорит о том, в какой кодировке эти имена
становятся видны пользовательским программам. В рассмотреный пример
предназначен для локализации системы в KOI8-R.

В случае работы с файловой системой NTFS, имена файлов на диске всегда
хранятся в Unicode, и как следствие, нам становится не нужен параметр
codepage:

/dev/hda7 /mnt/dos_e ntfs defaults,iocharset=koi8-r 0 0

См. также справку: man fstab, man mount


Известные баги

1. Для установленной локали KOI8-R в дситрибутиве Fedora Core 1 не
работает установка картинок на бэкграунд в среде GNOME, если картинка
называется русским именем или лежит в каталоге с русским именем.

Заключение

Ну вот вроде бы и все по этой теме... Конечно, можно было бы и
продолжить, но этой информации должно быть достаточно для приведения
локализации системы в более-менее работоспособное состояние, поскольку
все остальные проблемы обычно вызываются некорректными настройками
конкретных приложений.


Полезные ссылки
* http://mcmcc.bat.ru/ - сайт McMCC, который также дает
рекомендации по адаптации сравнительно новых дистрибутивов RedHat
к "реальной жизни в русских селеньях" (для RedHat Linux 8/9,
Fedora Core 1)
1433 Прочтений •  [Локализация Linux (UTF-8 и KOI8-R) (linux rus koi8r unicode locale)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Локализация Linux (UTF-8 и KOI8-R) ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка