Locale (Русский)
Локали (locales) используются в Linux чтобы определить каким языком пользуется пользователь. Также локали определяют набор символов, которыми пользуется пользователь; настройка правильной локали особенно важно, если язык содержит не-ASCII символы.
Названия локали определяется так:
<язык>_<страна>.<кодировка>[@<модификатор>]
В этой статье мы используем локаль ru_RU.UTF-8, но вы можете проделать все это с любой другой локалью.
Contents |
Включение нужных локалей
Ознакомьтесь также со статьей Internationalization_(Русский)
Сначала нужно включить те локали, которые вы хотите использовать. Чтобы включить или выключить их используется файл /etc/locale.gen. Он содержит все возможные локали, чтобы включить любую из них, раскомментируйте соответствующую строчку.
Поскольку мы хотим установить Русский язык с кодировкой utf-8, мы включаем локаль ru_RU.UTF-8. Но для совместимости с программами, которые не поддерживают Русский язык и/или utf-8, рекомендуется включить поддержку всех локалей, начинающихся с ru_RU и en_US.
После включения нужных локалей нужно запустить в терминале из под root locale-gen, чтобы обновить их.
# locale-gen Generating locales... en_US.UTF-8... done en_US.ISO-8859-1... done ru_RU.KOI8-R... done ru_RU.UTF-8... done ru_RU.ISO-8859-5... done Generation complete.
Установка системной локали
Чтобы определить, какая локаль будет использоваться в системе, вам нужно просто указать ее в файле /etc/locale.conf. Для того, чтобы установить локаль добавьте в /etc/locale.conf (его может не существовать - тогда просто создайте его) строчку:
LANG="ru_RU.UTF-8"
Эти настройки вступят в силу после перезагрузки.
Collation
Установка локали для отдельного пользователя
Как написано ранее, некоторые пользователи возможно захотят установить локаль отличную от системной. Вы можете установить локаль для конкретного пользователя в его файле ~/.bashrc
Например установим локаль en_AU.UTF-8.
export LANG=en_AU.UTF-8
Ваша локаль обновляется после исполнения вашего ~/.bashrc. Это происходит когда вы входите в систему, или вы можете выполнить:
$ source ~/.bashrc
Установка первого дня недели
Во многих странах первым днем недели является понедельник. Для этого следует изменить или добавить следующие строки в секцию LC_TIME в /usr/share/i18n/locales/<your_locale>:
week 7;19971130;5 first_weekday 2 first_workday 2
И затем выполнить от рута:
# locale-gen
Troubleshooting
Как узнать какие локали доступны сейчас?
Выполните:
$ locale -a
Как узнать какая локаль используется сейчас?
Выполните:
$ locale
Мой терминал не поддерживает UTF-8
Некоторые терминалы не поддерживают utf-8, так что придется установить другой терминал.
Терминалы, поддерживающие UTF-8:
- gnome-terminal
- gnustep-terminal
- konsole
- mlterm
- urxvt (rxvt-unicode)
- xfce-terminal
- xterm
Примечание: это далеко не полный список.
у меня xterm не поддерживает UTF-8
xterm поддерживает UTF-8 если запустить его как uxterm или xterm -u8.