locale(1) выдаёт информацию о локали

ОБЗОР

locale [параметр]
locale [параметр] -a
locale [параметр] -m
locale [параметр] имя

ОПИСАНИЕ

Команда locale выдаёт в стандартный вывод информацию о текущей или всех локалях.

При запуске без аргументов locale выводит настройки текущей локали по каждой категории локали (смотрите locale(5)) в зависимости от настроек переменных окружения, которые управляют локалью (смотрите locale(7)). Значения для переменных, установленных из окружения, печатаются без двойных кавычек; предполагается, что кавычки содержатся в самих значениях.

Если указан параметр -a или -m (или их длинные эквиваленты), то выполняется следующее:

-a, --all-locales
Выдаётся список всех доступных локалей. С параметром -v в вывод добавляются метаданные LC_IDENTIFICATION по каждой выводимой локали.
-m, --charmaps
Выдаются доступные кодировки (charmaps, файлы описаний наборов символов).

Команде locale также можно передать один или более аргументов: имена ключевых слов локали (например, date_fmt, ctype-class-names, yesexpr или decimal_point) или категории локали (например, LC_CTYPE или LC_TIME). Для каждого аргумента отображается следующее:

*
Для ключевого слова локали — значение этого ключевого слова.
*
Для категории локали — значения всех ключевых слов в этой категории.

При указании аргументов доступны следующие параметры:

-c, --category-name
Для аргумента имени категории, выводится имя категории локали в отдельной строке перед списком значений ключевых слов этой категории.

Для аргумента имени ключевого слова, выводится имя категории локали для этого ключевого слова в отдельной строке перед значением ключевого слова.

Этот параметр повышает читаемость при указании нескольких аргументов. Его можно указывать совместно с параметром -k.

-k, --keyword-name
Для каждого ключевого слова при отображении значений также выводится имя этого ключевого слова; формат вывода:


    ключевое слово="значение"

Команда locale также имеет следующие параметры:

-v, --verbose
Отобразить дополнительную информацию при некоторых комбинациях параметров командной строки и аргументов.
-?, --help
Показать справку по параметрам командной строки и аргументам и завершить работу.
--usage
Показать короткое сообщение об использовании и завершить работу.
-V, --version
Показать версию программы и выйти.

ФАЙЛЫ

/usr/lib/locale/locale-archive
Обычный путь по умолчанию для расположения архива локалей.
/usr/share/i18n/locales
Обычный путь по умолчанию для файлов определений локалей.

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008.

ПРИМЕР

$ locale
LANG=en_US.UTF-8
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 date_fmt
%a %b %e %H:%M:%S %Z %Y
$ locale -k date_fmt
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ locale -ck date_fmt
LC_TIME
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ locale LC_TELEPHONE
+%c (%a) %l
(%a) %l
11
1
UTF-8
$ locale -k LC_TELEPHONE
tel_int_fmt="+%c (%a) %l"
tel_dom_fmt="(%a) %l"
int_select="11"
int_prefix="1"
telephone-codeset="UTF-8"

В следующем примере компилируется специализированная локаль из каталога ./wrk с помощью утилиты localedef(1) в каталоге $HOME/.locale, затем тестируется результат командой date(1), а потом устанавливается переменные окружения LOCPATH и LANG в файле оболочки профиля для того, чтобы специализированная локаль была задействована в последующих сеансах пользователя:

$ mkdir -p $HOME/.locale
$ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8
$ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date
$ echo "export LOCPATH=\$HOME/.locale" >> $HOME/.bashrc
$ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc