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

Успешной локализации!