Каковы обязанности команд locale и locale-gen?

11

Я знаю, чтобы понять, как работают команды, мы должны использовать страницу man. Но для команды locale и locale-gen. Я не получил точного значения и их обязанности. Мне нужно еще немного описания их работы и связи между языком и языковым стандартом . Исходя из локали человека:

locale - получить информацию о локали.

хорошо, что это за язык ??

ОПИСАНИЕ Программа локали записывает информацию о текущей среде локали или всех локалях в стандартный вывод.

что такое языковая среда?

Мохаммед Реза Резвани
источник

Ответы:

14

Из Википедии:

В вычислениях языковой стандарт - это набор параметров, который определяет язык пользователя, страну и любые особые предпочтения варианта, которые пользователь хочет видеть в своем пользовательском интерфейсе. Обычно идентификатор языкового стандарта состоит как минимум из идентификатора языка и идентификатора региона.

localeПрограммы будут выводить набор переменной оболочки и их значение. Это переменные, которые изменяют поведение некоторых команд относительно языка, использования наборов символов и так далее. Из моей системы:

benoit@thorgal:~s 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=
benoit@thorgal:~$

Это говорит тем командам, которые слушают, использовать американский английский и кодировку UTF8 для специальных символов. Если я изменю значение LANG и поставлю вместо него fr_FR.UTF-8, то команды, которые его поддерживают, будут записывать свои выходные данные на французском, а не на английском языке. Конечно, только если установлен французский перевод.

Для locale-genкоманды, я думаю, что первый абзац ее справочной страницы говорит сам за себя:

Файлы скомпилированных локалей занимают около 50 МБ дискового пространства, и большинству пользователей требуется всего несколько локалей. Чтобы сэкономить место на диске, скомпилированные файлы локалей не распространяются в пакете локалей, но выбранные локали автоматически генерируются, когда этот пакет устанавливается при запуске программы locale-gen.

Когда вы запускаете locale-genили locale-gen <locale code>компилируете необходимые файлы локали, позволяя командам использовать локаль, указанную в переменных среды, отображаемых с помощью locale.

Пример: locale-gen en_US.UTF8

Вы можете получить доступные коды локали с помощью команды locale -a.

Benoit
источник
Что содержат эти файлы локали, занимающие мегабайты пространства?
Flimm