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.