× К оглавлению На главную Об авторе

Дата и время публикации:

Управление настройкой языка


1. Что лечим?!

Некорректное отображения символов на русском языке в интерфейсе командной строки (англ. Command Line Interface, CLI).

2. Как лечим?!

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

Для английского языка, как показано в листинге 2.1

Листинг 2.1

user@home ~$ export LANG=en_US.UTF-8

Для русского языка, как показано в листинге 2.2

Листинг 2.2

user@home ~$ export LANG=ru_RU.UTF-8

Для постоянного сохранения устанновленных языковых предпочтений, переменную LANG и выбранную языковую локаль записать в файл ~/.bashrc и перезапустить терминал или текущую сессию.

Для выбора из поддерживаемых языковых локалей в командной строке вызвать команду, как показано в листинге 2.3

user@home ~$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU.utf8

Чтобы получить список всех доступных языковых локализации, которые могут быть найдены в директории /usr/share/locale или /usr/lib/locale/.При этом, для установки новой локализации интерфейса в дистрибутиве Debian необходимо перенастроить пакет locales, как показано в листинге 2.4.

sudo dpkg-reconfigure locales

Вместе с переменной LANG будут установлены так же остальные переменные, начинающиеся с LC_, например LC_ALL, которая устанавливает для всех переменных, начинающихся LC_, одну и ту же языковую локаль, что и LANG. Но, самое главное так же будет установлена LC_MESSAGES, которая отвечает за определение какую языковую локализацию следует использовать gettext, который, например, позволяет транслировать строки в скриптах. При этом сами локализации строк должны находится /usr/share/locale/ru/LC_MESSAGES в специально созданных файлах с расширением .ro

Как готовить файлах с расширением .ro и использовать транслируемые строки об этом уже другая история...

3. Библиография


[1] Unix&Linux.How to have console messages in English?

[2] Конференция iXBT.com.Мусор на экране Midnight Commander через putty

[3] StackOverflow. How to set locale in the current terminal's session?

[4] SuperUser. Сhanging the current set locale on a Linux(Ubuntu)

[4] ShellHacks.Linux: Смена Языка и Кодировки Системы — Locale