- Локализация Ubuntu Server 18.04 LTS
- Текущие настройки языка
- Список доступных локалей
- Добавить новую локаль
- Подробная информация о локалях
- Локаль по-умолчанию
- Быстрая локализация
- Удалить лишние локали
- Переводы для системных программ
- Локализация для текущей сессии
- Файлы конфигурации шрифта и клавиатуры
- Настройка шрифта и клавиатуры
- How to Change or Set System Locales in Linux
- How to View System Locale in Linux
- How to Set System Locale in Linux
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- Linux: Define Locale and Language Settings
- Locale and Language Settings
- Add New Locale
- Ubuntu-18.04
- Ubuntu-14.04
- CentOS-7, CentOS-6
- Set Locale for the Current Session
- Define Locale and Language Permanently
- Set Default System Locale
- Ubuntu-18.04
- Ubuntu-14.04
- CentOS-7
- CentOS-6
- Изменить, добавить locale в Linux
- 1. Посмотреть текущую locale
- 2. Добавить \ установить новую locale
- Sysadminium
- Региональные настройки (locale) в Linux
- Locale в linux
- Определение текущей locale в системе
- Список сгенерированных locales в системе
- Генерация новых locales
- Настройка различных locales разным пользователям
- Перенастройка locales с помощью одной команды
Локализация Ubuntu Server 18.04 LTS
Локаль (locale или локализация) в Linux определяет, какой язык и какой набор символов (кодировку), пользователь видит в терминале. Посмотрим, как проверить текущие настройки языка и кодировки, как получить список всех доступных локалей, как сменить язык и кодировку для текущей сессии или установить их постоянно.
Для тех, кому лень читать всю статью до конца — чаще всего для локализации консоли достаточно повторно сконфигурировать пакет locales :
Сначала будут созданы нужные локали (их выбрать на первом экране), потом установлена локаль по умолчанию (ее выбрать на втором экране).
Текущие настройки языка
Посмотрим информацию о текущем языковом окружении:
Список доступных локалей
Теперь посмотрим список всех установленных языков и кодировок:
Есть только системная локаль C.UTF-8 , которая присутствует всегда. А нам надо добавить еще две локали — en_US.UTF-8 и ru_RU.UTF-8 .
Добавить новую локаль
Смотрим список всех поддерживаемых (доступных для установки) локалей:
Устанавливаем нужные локали — en_US.UTF-8 и ru_RU.UTF-8 :
Второй способ установить локали — расскомментровать нужные строки в файле /etc/locale.gen
И просто выполнить команду locale-gen без указания локалей:
Подробная информация о локалях
Более подробную информацию об установленных в системе локалях можно посмотреть так:
Часть локалей размещена в архиве /usr/lib/locale/locale-archive , а часть — в директориях внутри /usr/lib/locale/ .
Локаль по-умолчанию
Хорошо, нужные локали у нас теперь есть, осталось только задать локаль по умолчанию:
Эта команда запишет в файл /etc/default/locale строку:
После этого надо будет перезайти в систему. И проверяем информацию о языковом окружении:
Теперь все правильно, так что запишем эту информацию в файл /etc/default/locale :
Быстрая локализация
До сих пор мы все делали ручками, но если лень — можно просто повторно сконфигурировать пакет locales . Сначала будут созданы нужные локали (их нужно выбрать на первом экране), потом установлена локаль по умолчанию (ее нужно выбрать на втором экране).
Удалить лишние локали
После установки (генерации) локали, она помещается в архив /usr/lib/locale/locale-archive . Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:
Удалить заданную локаль из файла архива:
Обратите внимание на название локали — ru_UA.utf8 , а не ru_UA.UTF-8 . Если неправильно указать локаль — она не будет удалена из архива:
В случае, если утилита locale-gen была вызвана с опцией —no-archive , надо удалить соответствующую директорию в /usr/lib/locale :
Переводы для системных программ
Локализация для основных системных программ, чтобы получать сообщения на русском языке:
Локализация для текущей сессии
Достаточно временно установить переменную окружения LANG в текущей сессии терминала:
Или даже так — передать переменную LANG конкретной программе:
Файлы конфигурации шрифта и клавиатуры
Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard :
Это системные настройки, пользователь может создать свои в файлах
Настройка шрифта и клавиатуры
Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:
После того, как файлы конфигурации будут сформированы, нужно выполнить команду setupcon без аргументов или перезагрузить систему.
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.
You can view more information about an environmental variable, for example LC_TIME, which stores the time and date format.
To display a list of all available locales use the following command.
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.
To configure a specific locale parameter, edit the appropriate variable. For instance.
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.
For more information, see the locale, update-locale and localectl man pages.
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.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Linux: Define Locale and Language Settings
Locales are used in Linux to define which language and character set (encoding) user see in the terminal.
From this article you will learn how to check and change the current locale and language settings from the command line in Linux.
I will show how to check the current locale and language settings and how to get the list of available locals.
You will also see how to set locale and language temporary for the current session only as well as permanently for a single user or for the all users (change default system locale).
Cool Tip: Determine and change a file’s character encoding from the command line in Linux! The best solution for converting text files between different charsets! Read more →
Locale and Language Settings
Execute locale command to get the information about the current locale and language settings:
To list all enabled locales, run:
Locale is defined in the following format:
LANGUAGE | ISO 639 language code |
TERRITORY | ISO 3166 country code |
CODESET | Character set or encoding identifier, like ISO-8859-1 or UTF-8 |
e.g. Australian English with UTF-8 encoding is defined as: en_AU.UTF-8
Add New Locale
New locale: Before a locale can be enabled on the system, it must be generated.
If you didn’t find the desired language or encoding in the list of enabled locales, you can search for them in the list of all supported locales and install whatever you need.
Ubuntu-18.04
Supported releases: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.
List the all supported (available for generation) locales:
Find the desired locale, for example:
Generate it with:
Now you should see it in the list of available locales:
Ubuntu-14.04
Supported releases: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.
List the all supported (available for generation) locales:
Find the desired locale, for example:
Generate it with:
Now you should see it in the list of available locales:
CentOS-7, CentOS-6
List the all supported (available for generation) locales:
Find the desired locale, for example:
Generate it with:
Now you should see it in the list of available locales:
Set Locale for the Current Session
The locale and language settings are defined in the LANG variable that you can see if you run echo $LANG .
To set the required locale and language for the current session – it is just needed to redefine this variable.
Below you will find the examples of setting locales for some popular languages.
Set the environment variable LANG , as shown in the examples, to change a language and encoding for the current session:
Set the English locale:
Set the Russian locale:
Set the French locale:
Set the German locale:
Set the Hindi locale:
Define Locale and Language Permanently
If you don’t want to change locale manually for the each session – you can set it permanently.
For this you can set the required value of the LANG variable in a user’s bash profile and the needed locale and language settings will be automatically loaded upon the each session.
Put the following line to the
/.profile files, to change permanently the locale of the current user to en_US.utf8 :
By default, the modification will take effect after logout/login, but you can force it if you run one of the below commands, depending on in which file you have defined the LANG variable:
Set Default System Locale
Cool Tip: Create the awesome ASCII banners from the Linux command line and decorate your SSH warning messages! Read more →
Perform the following steps to permanently change the system locale (for the all users).
Ubuntu-18.04
Supported releases: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.
Ubuntu-14.04
Supported releases: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.
Edit the file with default locale settings:
Set the LANG variable:
CentOS-7
CentOS-6
Edit the file with default locale settings:
Set the LANG variable:
Reboot is required: Note that the above settings will take effect after reboot only.
Изменить, добавить locale в Linux
На примере Debian 7.6.
Locale – это локализация Linux которая определяет в какой кодировке пользователь видит всё в терминале.
1. Посмотреть текущую locale
В текущем примере текущая locale = en_US.UTF-8 где
en — Код языка по стандарту ISO 639
US — Код страны по стандарту ISO 3166
UTF-8 – Кодировка текста
# locale
LANG=en_US.UTF-8
LANGUAGE=
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=
Чтобы посмотреть все установленные в системе locale
# locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU
ru_RU.cp1251
2. Добавить \ установить новую locale
Список всех доступных для установки locale (в других версиях Linux, файл может быть другим, не locale.gen).
# cat /etc/locale.gen
Если в списке нет подходящей locale то возможно она просто не установлена и ее нужно установить
# apt-get -y install language-pack-ru
Locale можно устанавливать через
# locale-gen ru_RU.cp1251
# update-locale
Но удобнее делать с это с помощью псевдографической утилиты (в других версиях Linux могут быть свои средства). В этой утилите можно так же изменить locale которая используется по умолчанию в системе.
# dpkg-reconfigure locales
Sysadminium
База знаний системного администратора
Региональные настройки (locale) в Linux
Из статьи вы узнаете как в Linux, а именно Ubuntu и Debian, настроить locale для системы в целом и для пользователей по отдельности.
Locale в linux
Locale (локаль) – это региональные настройки операционной системы.
Каждая GNU/Linux система поставляется с конкретными региональными настройками. Эти настройки влияют на язык:
- интерфейса,
- сообщений об ошибках;
- справочной информации;
- вывода консольных утилит.
Но locale влияет не только на язык. Дополнительно это влияет на формат чисел, даты и времени, денежной валюты и другого.
Определение текущей locale в системе
Во-первых давайте определим с какими региональными настройками вы работаете в данный момент. Другими словами, какая locale сейчас используется в вашей linux системе. Для этого нужно выполнить команду locale без дополнительных параметров:
Так как, в примере, мы выполнили команду под пользователем alex, то утилита покажет региональные настройки для этого пользователя.
Имя локали состоит из нескольких частей. Вначале двумя маленькими символами обозначается язык, затем после нижнего подчеркивания идет название страны. Дальше идет кодировка, в современном мире чаще всего используется кодировка UTD-8. Примеры локалей:
- ru_RU.UTF-8 – Русский Россия;
- ru_UA.UTF-8 – Русский Украина;
- en_US.UTF-8 – Английский США;
- en_GB.UTF-8 – Английский Великобритания.
Разберём вывод предыдущей команды.
LANG – системная локаль для этого пользователя содержит значение ru_RU.UTF-8.
Дальше идут переменные, которыми могут пользоваться некоторые утилиты или подсистемы, рассмотрим некоторые из них:
- LANGUAGE – список резервных языков для перевода. Если приложение умеет это использовать и у приложения нет локализации для определённой локали, то оно может использовать запасную локаль;
- LC_NUMERIC – формат чисел, например 100 000 /100.000 / 100,000;
- LC_MONETARY – валюта и денежное форматирование.
Эти и другие переменные используются различными утилитами и подсистемами. Но обычно нет смысла использовать разные локали для этих подсистем.
Список сгенерированных locales в системе
В системе можно использовать только сгенерированные локали. Посмотреть какие сейчас сгенерированы можно так:
Логали: C, C.utf8, POSIX – это синонимы. Они являются локалями используемыми по умолчанию, если не задана никакая другая локаль.
В системе есть ещё одна локаль – ru_RU.utf8. Эта локаль была сгенерирована при установки системы.
А если добавим опцию -v, то дополнительно увидим описание по каждой locale:
Так как локали C и POSIX это псевдонимы к C.utf8, то в этом выводе они исключаются.
Генерация новых locales
Список locales находятся в файле – /etc/locale.gen. А чтобы сгенерировать новую локаль нужно разкоментировать нужные локали в этом файле, а затем выполнить от суперпользователя команду locale-gen. Давайте попробуем сгенерировать locale en_US.utf8:
Кстати, если мы укажем использовать локаль, которую не сгенерировали. То команда locale сообщит нам об ошибке:
В выводе видно, что мы пытаемся использовать локаль fr_FR.utf8, но забыли его сгенерировать.
Настройка различных locales разным пользователям
Для начала, если не настраивать локаль отдельным пользователям, то все они будут использовать локаль прописанную в файле /etc/default/locale:
Из вывода видно что все пользователи будут использовать локаль ru_RU.UTF-8.
Если пользователю нужно использовать другую локаль, то можно для него переопределить переменную LANG. Для этого можно использовать файл .bashrc в его домашнем каталоге, например:
Теперь все пользователи, кроме alex будут использовать локаль ru_RU.utf8, а alex будет использовать локаль en_US.utf8.
Перенастройка locales с помощью одной команды
В самом конце я покажу команду, с помощью которой можно сгенерировать нужные локали и убрать не нужные, а также выставить локаль по умолчанию. Это команда dpkg-reconfigure locales и запускать её нужно с правами администратора:
После выполнения команды вы увидите псевдографический интерфейс:
Выполнение команды dpkg-reconfigure locales
После выбора locales для генерации, вам нужно будет выбрать locale по умолчанию, которая пропишется в файл /etc/default/locale:
Утилита dpkg-reconfigure locales – выбор locale по умолчанию
Мы познакомились с настройками locale в linux на примерах операционных систем Debian и Ubuntu.
- locale – для просмотра используемой и сгенерированных локалей;
- locale-gen – для генерации локалей;
- dpkg-reconfigure locales – для генерации локалей и установки локали по умолчанию.