Linux узнать текущую локаль

Содержание
  1. Локализация Ubuntu Server 18.04 LTS
  2. Текущие настройки языка
  3. Список доступных локалей
  4. Добавить новую локаль
  5. Подробная информация о локалях
  6. Локаль по-умолчанию
  7. Быстрая локализация
  8. Удалить лишние локали
  9. Переводы для системных программ
  10. Локализация для текущей сессии
  11. Файлы конфигурации шрифта и клавиатуры
  12. Настройка шрифта и клавиатуры
  13. Expert Users
  14. Посмотреть текущую локаль
  15. Установленные локали
  16. Установить новую локаль
  17. Изменить локаль временно
  18. Изменить локаль постоянно, для пользователя
  19. Изменить локаль постоянно, для всей системы
  20. Изменить, добавить locale в Linux
  21. 1. Посмотреть текущую locale
  22. 2. Добавить \ установить новую locale
  23. как определить локаль?
  24. Re: как определить локаль?
  25. Re: как определить локаль?
  26. Re: как определить локаль?
  27. Re: как определить локаль?
  28. Re: как определить локаль?
  29. Re: как определить локаль?
  30. Linux: Define Locale and Language Settings
  31. Locale and Language Settings
  32. Add New Locale
  33. Ubuntu-18.04
  34. Ubuntu-14.04
  35. CentOS-7, CentOS-6
  36. Set Locale for the Current Session
  37. Define Locale and Language Permanently
  38. Set Default System Locale
  39. Ubuntu-18.04
  40. Ubuntu-14.04
  41. CentOS-7
  42. CentOS-6

Локализация 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 . Если неправильно указать локаль — она не будет удалена из архива:

Читайте также:  Windows check program updates

В случае, если утилита locale-gen была вызвана с опцией —no-archive , надо удалить соответствующую директорию в /usr/lib/locale :

Переводы для системных программ

Локализация для основных системных программ, чтобы получать сообщения на русском языке:

Локализация для текущей сессии

Достаточно временно установить переменную окружения LANG в текущей сессии терминала:

Или даже так — передать переменную LANG конкретной программе:

Файлы конфигурации шрифта и клавиатуры

Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard :

Это системные настройки, пользователь может создать свои в файлах

Настройка шрифта и клавиатуры

Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:

После того, как файлы конфигурации будут сформированы, нужно выполнить команду setupcon без аргументов или перезагрузить систему.

Источник

Expert Users

Locale позволяет программам отображать инфорацию согласно вашему языку или стране. Например, при установке Ubuntu нужно выбрать географическое положение на карте, согласно которому и установится локаль по умолчанию. Но иногда бывает нужно сменить локаль, либо установить новую. О чем и пойдет речь ниже.

Посмотреть текущую локаль

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

При этом локаль задается в формате _ . , например, русская локаль с UTF-8 кодировкой задается как ru_RU.UTF-8.

Установленные локали

Для того, чтобы просмотреть все доступные локали, установленные в системе, введите команду:

Установить новую локаль

Если вы не нашли нужную локаль в списке установленных, то вы можете поискать ее в списке поддерживаемых локалей, в файле:

Нужную локаль можно установить с помощью команды locale-gen:

После того, как вы установили локаль, она должна появиться в списке установленных:

Изменить локаль временно

Чтобы изменить локаль или переменную локализации временно (она будет активна только во время текущей сессии), введите имя переменной, знак равно и новое значение. Например, изменим переменную окружения LC_TIME, задающую формат времени и даты:

Изменить локаль постоянно, для пользователя

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

/.bashrc. Для этого откройте файл

/.bashrc и добавьте внизу одну строчку, например, чтобы задать переменную LANG:

Изменения вступят в силу при следующем входе в систему.

Изменить локаль постоянно, для всей системы

Если вы хотите изменить системную локаль, то просто откройте файл и измените нужные переменные локализации:

Изменения вступят в силу после перезагрузки.

Как все это работает, вы можете посмотреть в данном видео:

Источник

Изменить, добавить 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

Читайте также:  Среда линукс windows 10

Если в списке нет подходящей locale то возможно она просто не установлена и ее нужно установить

# apt-get -y install language-pack-ru

Locale можно устанавливать через

# locale-gen ru_RU.cp1251
# update-locale

Но удобнее делать с это с помощью псевдографической утилиты (в других версиях Linux могут быть свои средства). В этой утилите можно так же изменить locale которая используется по умолчанию в системе.

# dpkg-reconfigure locales

Источник

как определить локаль?

на дисках, записанных в винде, теряются русские названия. тема, конечно, забитая, но мне не удалось найти внятного ответа 🙁 . я пониммаю, чего надобно писать в етцфстабе, но у меня не получается определить локакль. я уже прописывал и koi8-r и koi8-u, и utf8 при iocharset, а букфф все нет 🙁 . только на разных локалях меняются знаки — то это . то еще какая то хрень (прямоугольники, кажеться).

Re: как определить локаль?

увидеть текущую локаль можно командой locale или echo $LANG.

Re: как определить локаль?

так мне надо локаль, в которой записан CD, а не то, в чем мне хотелось бы, чтобы он был записан.. или это то и есть?

Re: как определить локаль?

Нет, это локаль той консоли что вы работаете. Она должна быть указана как iocharset.

Еще консольный шрифт должен быть этой-же кодировки проверяется вводом echo «чего-нить на русском языке».

Re: как определить локаль?

какая локаль в системе?

Re: как определить локаль?

в смысле — в консоли? не знаю. а что это меняет?

Re: как определить локаль?

1.Есть имя файла на диске. Windows, как я понимаю, пишет в уникоде.

2.Дальше ядро берет это имя и преобразует в какую-то кодировку.

3.Дальше программа пользователя берет у ядра и это имя показывает на экране.

2. В какую кодировку преобразовывать — общесистемная натройка (IMHO, это кривость). Это указывается через iocharset.

3. Теперь программа получившая имя файла в кодировке iocharset от ядра должна это имя отобразить. Если это xterm (или другая консоль), то: когда ls выводит что-то на экран то он полагает, что этот вывод в кодировке locale. И отображает результат как есть или преобразованным к UTF-8. В первом случае (xterm +lc) при неправильной кодировке шрифта будут кракозяблы. Во втором (xterm -lc) если символов нет в шрифте ИЛИ неверная последовательность — квадратики.

Источник

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:

Читайте также:  Как отключить обновление adobe flash player windows 10

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

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

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.

Источник

Оцените статью