Как : Изменить Локаль (Язык и Кодировку) в Linux

Локали (locales) используются в Linux чтобы определить каким языком и какой кодировкой (набором символов) пользуется пользователь.

В этой статье я расскажу как :

  • Проверить Текущую Локаль
  • Получить Список Доступных Локалей
  • Добавить Новую Локаль
  • Изменить Локаль для Текущей Сессии
  • Изменить Локаль на Постоянной Основе
  • Изменить Локаль По Умолчанию для Всей Системы

Текущая Локаль

Получить информацию о текущем языковом окружении :
$ locale

Названия локали расшифровывается как :
<язык>_<страна>.<кодировка>[@<модификаторы>]
Например : Австралийский Английский с кодировкой UTF-8 называется en_AU.UTF-8

Доступные Локали

Просмотреть список доступных локалей :
$ locale -a

Добавляем Новую Локаль

Если Вы не нашли необходимый язык или кодировку, Вы можете поискать в списке всех поддерживаемых локалей :
/usr/share/i18n/SUPPORTED
Сгенерируйте новую локаль, выполнив команду locale-gen. Например :
# locale-gen en_US.UTF-8
# locale-gen ru_RU.UTF-8
# locale-gen fr_FR ISO-8859-1

Теперь она появится в списке доступных локалей :
$ locale -a

Изменить Локаль для Текущей Сессии

Чтобы изменить язык и кодировку для текущей сессии, задайте переменную окружения LANG, как показано в примерах :

# Установить Английскую локаль
$ LANG=en_US.utf8
# Установить Русскую локаль
$ LANG=ru_RU.utf8
# Установить Французскую локаль
$ LANG=fr_FR.iso-8859-15

Изменить Локаль на Постоянной Основе

Чтобы у пользователя постоянно была определенная локаль, поместите следующую строку в его bash профиль (~/.bashrc или ~/.profile) :

export LANG=en_US.utf8

Чтобы изменения вступили в силу необходимо переподключиться.

Изменить Системную Локаль По Умолчанию

Выполните следующие шаги, чтобы поменять язык и кодировку по умолчанию для всей системы.

Откройте файл с локалью по умолчанию.

В Debian, Ubuntu, Linux Mint и т.п.:

/etc/default/locale

В CentOS, RedHat и т.п.:

/etc/sysconfig/i18n

Измените значение переменной окружения LANG :

LANG="en_US.utf8"

Чтобы изменения вступили в силу необходимо перезагрузиться.