locale

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

locale — UNIX‐утилита, выводящая информацию о региональных настройках (параметрах).

Использование

[править | править код]

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

LANG=ru_RU.UTF-8
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="POSIX"
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=

По умолчанию переменные LC_ALL и LANG имеют пустые значения, а все остальные — значение «POSIX». В русифицированных системах при настройке региональных параметров указывается определённая кириллическая кодировка, например UTF-8 (Unicode) или реже CP1251 (русскоязычная кодировка Microsoft Windows) или KOI-8 (русскоязычная кодировка UNIX).

Чтобы установить значение региональных настроек, нужно установить значение переменной LANG, например так:

export LANG=ru_RU.UTF-8

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

  • locale [ -a | -m]
  • locale [ -ck ] name [ name ... ]
-a, --all-locales
вывести названия доступных региональных настроек.
-m, --charmaps
вывести названия доступных таблиц преобразований символов.
-c, --category-name
вывести названия указанных категорий.
-k, --keyword-name
вывести названия и значения указанных ключевых слов.

Пример работы с категориями:

$ locale -ck LC_NUMERIC
LC_NUMERIC
decimal_point=","
thousands_sep=" "
grouping=3;3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=160
numeric-codeset="UTF-8"
$ echo Decimal point is \"`locale decimal_point`\" in `locale territory`.
Decimal point is "," in Russia.