Russian locale in Linux
или
Локализация Linux
By Ivan E. Panchenko
Эта страничка написана на основе личного опыта, основывающегося
в свою очередь на цитированных источниках.
Автор не гарантирует (хотя и предполагает) полезность этой информации для кого-либо.
Что такое locale?
См.
Alec's pages .
Практическая реализация.
Я установил себе Slackware 3.6
и обнаружил что русской locale в нем нет. Вернее,
в /usr/share/locale/
ее нет, а есть
в /usr/share/i18n/locales/ru_RU
- в текстовой форме (т.е. исходники),
которые должны быть скомпилированы командой localedef
.
Однако скомпилировать его не удавалось...
Пришлось найти
в одном хорошем месте ссылку на
правильные исходники, которые с легкостью
скомпилировались и все заработало. Вот что получилось:
ru_RU.tar.gz .
Чтобы задать все названия (ru_RU, koi-8, KOI8-R) под которыми должна быть
известна ваша русская locale, поредактируйте файл /usr/share/locale/aliases
.
Проверка.
Если программы, имспользующие locale работают как следует, то все в порядке.
Для начала скажите export LANG=ru_RU
.
Пример тестовой программы на C можно найти у Alec'а .
Если будете проверять программой на Perl, не забудьте сказать в ней:
use locale;
-- иначе Перл игнорирует locale.
Dec 1998
Новые приключения: Slackware 4.0
В составе новой Слаквари есть прекрасные исходники локали (те самые, о которых
говорилось выше) - в /usr/share/i18n
,
но почему-то в скомпилированном виде это отсутствует.
Поступаем просто:
localedef -c -i ru_RU -f /usr/share/i18n/charmaps/KOI8-R ru_RU
localedef -c -i ru_RU -f /usr/share/i18n/charmaps/CP1251 ru_SU
Первая команда генерирует все в кодировке koi-8, вторая - в виндовозной.
Любители могут поупражнятся с досовской кодировкой.
Есть еще localedef-glibc2
. Она работает так же, как
localedef
, но ее результат непонятен программам,
слинкованным с libc5, хотя ложится в то же место. Могут ли одновременно
сосуществовать оба варианта, непонятно.
June 1999
Успешной локализации!