Как изменить или установить системные локали в Linux
Локаль — это набор переменных окружения, который определяет настройки языка, страны и символов (или любые другие специальные варианты) для ваших приложений и сеанса оболочки в системе Linux. Эти переменные окружения используются системными библиотеками и языковыми приложениями в системе.
Язык влияет на такие моменты, как формат времени / даты, первый день недели, цифры, валюта и многие другие значения, отформатированные в соответствии с языком или регионом / страной, установленной в системе Linux.
В этой статье мы покажем, как просмотреть установленный в данный момент язык системы и как установить локаль системы в Linux.
Как просмотреть системную локаль в Linux
Чтобы просмотреть информацию о текущей установленной локали, используйте утилиту locale или localectl.
$ locale LANG=ru_RU.UTF-8 LANGUAGE=ru LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=''
$ localectl status System Locale: LANG=ru_RU.UTF-8 VC Keymap: n/a X11 Layout: us X11 Model: pc105
Вы можете просмотреть дополнительную информацию о переменной окружения, например LC_TIME, которая хранит формат времени и даты.
$ locale -k LC_TIME abday="Вс;Пн;Вт;Ср;Чт;Пт;Сб" day="Воскресенье;Понедельник;Вторник;Среда;Четверг;Пятница;Суббота" abmon="янв;фев;мар;апр;мая;июн;июл;авг;сен;окт;ноя;дек" mon="января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря" am_pm=";" d_t_fmt="%a %d %b %Y %T" d_fmt="%d.%m.%Y" t_fmt="%T" t_fmt_ampm="" era= era_year="" era_d_fmt="" alt_digits= era_d_t_fmt="" era_t_fmt="" time-era-num-entries=0 time-era-entries="" week-ndays=7 week-1stday=19971130 week-1stweek=1 first_weekday=2 first_workday=2 cal_direction=1 timezone="" date_fmt="%a %b %e %H:%M:%S %Z %Y" time-codeset="UTF-8" alt_mon="Январь;Февраль;Март;Апрель;Май;Июнь;Июль;Август;Сентябрь;Октябрь;Ноябрь;Декабрь" ab_alt_mon="янв;фев;мар;апр;май;июн;июл;авг;сен;окт;ноя;дек"
Чтобы отобразить список всех доступных локалей, используйте следующую команду:
$ locale -a C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8 ru_UA.utf8
Как установить новую системную локаль в Linux
Если вы хотите изменить или установить локальную систему, используйте программу update-locale. Переменная LANG позволяет вам установить локаль для всей системы.
Следующая команда устанавливает LANG в en_IN.UTF-8 и удаляет определения для LANGUAGE:
$ sudo update-locale LANG=ru_RU.UTF-8 LANGUAGE
$ sudo localectl set-locale LANG=ru_RU.UTF-8
Чтобы настроить определенный параметр локали, отредактируйте соответствующую переменную. Например:
$ sudo update-locale LC_TIME=ru_RU.UTF-8
$ sudo localectl set-locale LC_TIME=ru_RU.UTF-8
Глобальные настройки локали можно найти в следующих файлах:
Для настройки локали системы эти файлы также можно редактировать вручную, используя ваши любимых редакторы командной строки, такие как Vim или Nano.
Чтобы установить глобальную локаль для одного пользователя, вы можете просто открыть файл ~/.bash_profile и добавить следующие строки:
LANG="ru_RU.utf8" export LANG
Для получения дополнительной информации, «курим» man’ы locale, update-locale и localectl.
$ man locale $ man update-locale $ man localectl
На этом все! В этой короткой статье мы узнали, как просматривать и устанавливать локаль системы в Linux.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
How to Change or Set System Locales in Linux
A locale is a set of environmental variables that defines the language, country, and character encoding settings (or any other special variant preferences) for your applications and shell session on a Linux system. These environmental variables are used by system libraries and locale-aware applications on the system.
Locale affects things such as the time/date format, the first day of the week, numbers, currency and many other values formatted in accordance with the language or region/country you set on a Linux system.
In this article, we will show how to view your currently installed system locale and how to set system’s locale in Linux.
How to View System Locale in Linux
To view information about the current installed locale, use the locale or localectl utility.
$ locale LANG=en_US.UTF-8 LANGUAGE=en_US 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= $ localectl status System Locale: LANG=en_US.UTF-8 LANGUAGE=en_US VC Keymap: n/a X11 Layout: us X11 Model: pc105
You can view more information about an environmental variable, for example LC_TIME, which stores the time and date format.
$ locale -k LC_TIME abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat" day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday" abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec" mon="January;February;March;April;May;June;July;August;September;October;November;December" am_pm="AM;PM" d_t_fmt="%a %d %b %Y %r %Z" d_fmt="%m/%d/%Y" t_fmt="%r" t_fmt_ampm="%I:%M:%S %p" era= era_year="" era_d_fmt="" alt_digits= era_d_t_fmt="" era_t_fmt="" time-era-num-entries=0 time-era-entries="S" week-ndays=7 week-1stday=19971130 week-1stweek=1 first_weekday=1 first_workday=2 cal_direction=1 timezone="" date_fmt="%a %b %e %H:%M:%S %Z %Y" time-codeset="UTF-8" alt_mon="January;February;March;April;May;June;July;August;September;October;November;December" ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
To display a list of all available locales use the following command.
$ locale -a C C.UTF-8 en_US.utf8 POSIX
How to Set System Locale in Linux
If you want to change or set system local, use the update-locale program. The LANG variable allows you to set the locale for the entire system.
The following command sets LANG to en_IN.UTF-8 and removes definitions for LANGUAGE.
$ sudo update-locale LANG=LANG=en_IN.UTF-8 LANGUAGE OR $ sudo localectl set-locale LANG=en_IN.UTF-8
To configure a specific locale parameter, edit the appropriate variable. For instance.
$ sudo update-locale LC_TIME=en_IN.UTF-8 OR $ sudo localectl set-locale LC_TIME=en_IN.UTF-8
You can find global locale settings in the following files:
- /etc/default/locale – on Ubuntu/Debian
- /etc/locale.conf – on CentOS/RHEL
These files can also be edited manually using any of your favorite command line editors such as Vim or Nano, to configure your system locale.
To set a global locale for single user, you can simply open ~/.bash_profile file and add the following lines.
LANG="en_IN.utf8" export LANG
For more information, see the locale, update-locale and localectl man pages.
$ man locale $ man update-locale $ man localectl
That’s all! In this short article, we have explained how to view and set system local in Linux. If you have any questions, use the feedback form below to reach us.