Установка локали в linux


Чаще всего, необходимо установить локаль cp1251, но вам возможно нужна другая локаль – это не меняет принципа установки.

Для установки локали выполняем:

localedef -c -i язык -f CP1251 язык.локаль

Например, для установки cp1251:

localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

После установки локали, можно проверить следующим образом:
Сначала набираем команду

locale

и видим что-то в этом роде:

root@server [~]# rpm -qa | grep ru
grub-0.97-13
cyrus-sasl-lib-2.1.22-8.fc7
cyrus-sasl-plain-2.1.22-8.fc7
sharutils-4.6.3-1.fc7
man-pages-ru-0.97-2.fc7
cyrus-sasl-lib-2.1.22-8.fc7
aspell-ru-0.99f7-3.fc7
cyrus-sasl-2.1.22-8.fc7
root@second [~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Это локаль английского языка в кодировке UTF-8
Теперь выполняем следующие команды:

export LANG=ru_RU.cp1251
locale

И видим примерно следующее:

root@second [~]# export LANG=ru_RU.cp1251
root@second [~]# locale
LANG=ru_RU.cp1251
LC_CTYPE="ru_RU.cp1251"
LC_NUMERIC="ru_RU.cp1251"
LC_TIME="ru_RU.cp1251"
LC_COLLATE="ru_RU.cp1251"
LC_MONETARY="ru_RU.cp1251"
LC_MESSAGES="ru_RU.cp1251"
LC_PAPER="ru_RU.cp1251"
LC_NAME="ru_RU.cp1251"
LC_ADDRESS="ru_RU.cp1251"
LC_TELEPHONE="ru_RU.cp1251"
LC_MEASUREMENT="ru_RU.cp1251"
LC_IDENTIFICATION="ru_RU.cp1251"
LC_ALL=

Перед вами локаль русского языка, в кодировке cp1251

В случае с локалью cp1251, на домашних ОС (использующихся дома и на работе, в качестве DeskTop, но не в качестве серверов), вам может пригодиться пакет i18n – локаль присутствует в этом пакете.
Проверить установлен ли пакет в разных версиях ОС можно так:
Red Hat (RH), в том числе FC и все системы поддерживающие RPM:

rpm -qa | grep i18n

Выведет список установленных пакетов, содержащих в названии фразу “i18n”. Если ничего не выведет – значит пакет не установлен.
Gentoo:

emerge -s i18n

Выведет список пакетов, с пометкой либо Installed либо Not Installed
Например, в домашней ( Home Desktop ) системе Linux Gentoo, это выглядит так:

*  kde-base/kde-i18n
      Latest version available: 3.5.9
      Latest version installed: 3.5.9
      Size of files: 307,448 kB
      Homepage:      http://www.kde.org/
      Description:   KDE internationalization package
      License:       GPL-2

Что означает – пакет установлен.

Опубликовано 24 августа 2008 - информация могла устареть.

Ответить