LOCALEDEF(1) Руководство пользователя Linux LOCALEDEF(1)

ИМЯ

localedef - компилирует файлы определения локали

ОБЗОР

localedef [параметры] путь_результата localedef --list-archive [параметры] localedef --delete-from-archive [параметры] имя_локалиlocaledef --add-to-archive [параметры] путь_скомпилированного localedef --version localedef --help localedef --usage

ОПИСАНИЕ

Программа localedef читает заданные файлы карты символов (charmap) и входные файлы, компилирует их в двоичную форму для быстрого доступа из функций локали библиотеки C (setlocale(3), localeconv(3) и т. д.) и помещает результат в путь_результата.

Аргумент путь_результата рассматривается следующим образом:

  • Если путь_результата содержит косую черту («/»), то он считается именем каталога для хранения создаваемых определений. В этом случае создаётся отдельный файл результата для каждой категории локали (LC_TIME, LC_NUMERIC и так далее).
  • Если указан параметр --no-archive, то путь_результата считается именем подкаталога в /usr/lib/locale, где размещены скопированные файлы для каждой категории.
  • В противном случае, путь_результата считается именем локали и компилируемые данные локали добавляются в файл архива /usr/lib/locale/locale-archive. Файл архива — это файл отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами, если не установлена переменная окружения LOCPATH.

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

Если файл карты символов не указан, то по умолчанию используется значение ANSI_X3.4-1968 (для ASCII). Если не указан входной файл, или если вместо него указан перенос (-), то localedef читает данные из стандартного входного потока.

ПАРАМЕТРЫ

Параметры действия-выбора

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

Удалить заданную локаль из файла архива локалей.
Показать список локалей, содержащихся в файле архива локалей.
Добавить каталоги путь_скомпилированного файл архива локалей. Каталоги должны быть созданы ранее запускавшимся localedef с параметром --no-archive.

Другие параметры

Следующие параметры имеют значение только для определённых операций; обычно, по названию понятно для каких. Заметим, что параметры -f и -c работают не так как можно ожидать, то есть -f это не тоже самое что --force.

Задаёт файл, которым определяется набор символов, используемый в файле входных данных. Если значение файл_карты_символов содержит косую черту («/»), то оно рассматривается как название карты символов. В противном случае, файл ищется в текущем каталоге и каталоге по умолчанию для карт символов. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/charmaps/ и $I18NPATH/. Каталог по умолчанию для карт символов можно увидеть в выводе localedef --help.
Задаёт файл определения локали для компиляции. Файл ищется в текущем каталоге и каталоге по умолчанию для файлов определения локалей. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/locales/ и $I18NPATH. Каталог по умолчанию для файлов определения локалей можно увидеть в выводе localedef --help.
Из файла_набора читаются отображения символических имён в кодовые точки Юникода. Если значение файла_набора содержит косую черту («/»), то оно рассматривается имя пути карты набора (repertoire map). В противном случае, файл ищется в текущем каталоге и каталоге по умолчанию для карт наборов. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/repertoiremaps/ и $I18NPATH. Каталог по умолчанию для карт наборов можно увидеть в выводе localedef --help.
Использовать файл_псевдонимов для поиска псевдонимов имён локалей. Для файла псевдонимом нет файла по умолчанию.
Указывает префикс полного пути к архиву. По умолчанию префикс пуст. Если указать в качестве префикса foo, то архив будет помещён в foo/usr/lib/locale/locale-archive.
Записывать файлы результата даже, если есть предупреждения при генерации входных данных.
Генерировать дополнительные предупреждения об ошибках, которые обычно игнорируются.
Не показывать все уведомления и предупреждения; сообщать только о фатальных ошибках.
Жёстко следовать POSIX. Подразумевает --verbose. Этот параметр, в настоящее время, больше ничего не делает. Соответствие POSIX предполагается, если установлена переменная окружения POSIXLY_CORRECT.
Заменить локаль в файле архива локалей. Без этого параметра, если локаль в архиве уже есть, то выдаётся ошибка.
Не использовать файл архива локалей, вместо этого создать путь_результата в качестве подкаталога в текущем каталоге для файла архива локалей, и создать в нём отдельные файлы результата для категорий локали. Это позволяет не перезаписывать системный архив локалей пользовательскими локалями, созданными с помощью localedef.
-?, --help
Показать справку по использованию и завершить работу. Также выводятся пути по умолчанию, используемые в localedef.
Показать краткую справку по использованию и завершить работу.
Показать номер версии, лицензию и уведомление о гарантиях для localedef.

КОД РЕЗУЛЬТАТА

Программа localedef может возвращать один из следующих кодов завершения:

0
Команда успешно выполнена.
1
Произошла ошибка или предупреждение, файлы результата записаны.
4
Произошла ошибка, результат не записан.

ОКРУЖЕНИЕ

Если эта переменная окружения установлена, то предполагается флаг --posix.
Список каталогов через двоеточие для поиска файлов.

ФАЙЛЫ

/usr/share/i18n/charmaps
Обычный путь по умолчанию для файлов карт символов.
/usr/share/i18n/locales
Обычный путь по умолчанию для файлов определений локалей.
/usr/share/i18n/repertoiremaps
Обычный путь по умолчанию для файлов карт набора.
/usr/lib/locale/locale-archive
Обычный путь по умолчанию для расположения архива локалей.
/usr/lib/locale
Обычный путь по умолчанию для скомпонованных файлов данных отдельных локалей.
Файл результата содержит информацию о формате адресов и географических элементах.
Файл результата содержит информацию о правилах сравнения строк.
Файл результата содержит информацию о классах символов.
Файл результата содержит метаданные о локали.
Файл результата содержит информацию о единицах измерения (метрическая или система мер США).
Файл результата содержит информацию о языке, на котором должны выводиться сообщения и как выглядят ответы «да» и «нет».
Файл результата содержит информацию о правилах написания денежных единиц.
Файл результата содержит информацию об описании персон.
Файл результата содержит информацию о правилах написания не денежных числовых единиц.
Файл результата содержит информацию о параметрах, относящихся к размерам бумаги.
Файл результата содержит информацию о форматах, используемых в телефонных службах.
Файл результата содержит информацию о форматах значений даты и времени.

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

POSIX.1-2008.

ПРИМЕР

Компилирование файлов локали для финских пользователей с набором символов UTF-8 и добавление к архиву локалей по умолчанию с именем fi_FI.UTF-8:

localedef -f UTF-8 -i fi_FI fi_FI.UTF-8

В следующем примере делается тоже самое, но файлы генерируются в каталоге fi_FI.UTF-8, который затем можно использовать в программах, установив переменную окружения LOCPATH равной текущему каталогу (заметим, что последний аргумент должен содержать косую черту):

localedef -f UTF-8 -i fi_FI ./fi_FI.UTF-8

СМОТРИТЕ ТАКЖЕ

locale(1), charmap(5), locale(5), repertoiremap(5), locale(7)

2019-03-06 Linux