Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



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

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


ОБЗОР

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 сделать что-то другое, а не компилировать определения локали. Одновременно может быть указан только один такой параметр.

    --delete-from-archive Удалить заданную локаль из файла архива локалей.

    --list-archive Показать список локалей, содержащихся в файле архива локалей.

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

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

    Следующие параметры имеют значение только для определённых операций; обычно, по названию понятно для каких.

    -f файл_карты_символов, --charmap=файл_карты_символов Задаёт файл, которым определяется набор символов, используемый в файле входных данных. Если значение файл_карты_символов содержит косую черту («/»), то оно рассматривается как название карты символов. В противном случае, файл ищется в текущем каталоге и каталоге по умолчанию для карт символов. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/charmaps/ и $I18NPATH/. Каталог по умолчанию для карт символов можно увидеть в выводе localedef --help.

    -i входной_файл, --inputfile=входной_файл Задаёт файл определения локали для компиляции. Файл ищется в текущем каталоге и каталоге по умолчанию для файлов определения локалей. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/locales/ и $I18NPATH. Каталог по умолчанию для файлов определения локалей можно увидеть в выводе localedef --help.

    -u файл_набора, --repertoire-map=файл_набора Из файла_набора читаются отображения символических имён в кодовые точки Юникода. Если значение файла_набора содержит косую черту («/»), то оно рассматривается имя пути карты набора (repertoire map). В противном случае, файл ищется в текущем каталоге и каталоге по умолчанию для карт наборов. Если установлена переменная окружения I18NPATH, то после текущего каталога также просматриваются $I18NPATH/repertoiremaps/ и $I18NPATH. Каталог по умолчанию для карт наборов можно увидеть в выводе localedef --help.

    -A файл_псевдонимов, --alias-file=файл_псевдонимов Использовать файл_псевдонимов для поиска псевдонимов имён локалей. Для файла псевдонимом нет файла по умолчанию.

    --prefix=путь Указывает префикс полного пути к архиву. По умолчанию префикс пуст. Если указать в качестве префикса foo, то архив будет помещён в foo/usr/lib/locale/locale-archive.

    -c, --force Записывать файлы результата даже, если есть предупреждения при генерации входных данных.

    --old-style Создавать хэш-таблицы в старом формате вместо 3-уровневых таблиц доступа.

    -v, --verbose Генерировать дополнительные предупреждения об ошибках, которые обычно игнорируются.

    --quiet Не показывать все уведомления и предупреждения; сообщать только о фатальных ошибках.

    --posix Ƹстко следовать POSIX. Подразумевает --verbose. Этот параметр, в настоящее время, больше ничего не делает. Соответствие POSIX предполагается, если установлена переменная окружения POSIXLY_CORRECT.

    --replace Заменить локаль в файле архива локалей. Без этого параметра, если локаль в архиве уже есть, то выдаётся ошибка.

    --no-archive Не использовать файл архива локалей, вместо этого создать путь_результата в качестве подкаталога в текущем каталоге для файла архива локалей, и создать в нём отдельные файлы результата для категорий локали.

    -?, --help Показать справку по использованию и завершить работу. Также выводятся пути по умолчанию, используемые в localedef.

    --usage Показать краткую справку по использованию и завершить работу.

    -V, --version Показать номер версии, лицензию и уведомление о гарантиях для localedef.

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

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

    0 Команда успешно выполнена.

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

    4 Произошла ошибка, результат не записан.

    ОКРУЖЕНИЕ

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

    I18NPATH Список каталогов через двоеточие для поиска файлов.

    ФАЙЛЫ


    /usr/share/i18n/charmaps Обычный путь по умолчанию для файлов карт символов.
    /usr/share/i18n/locales Обычный путь по умолчанию для файлов определений локалей.
    /usr/share/i18n/repertoiremaps Обычный путь по умолчанию для файлов карт набора.
    /usr/lib/locale/locale-archive Обычный путь по умолчанию для расположения архива локалей.
    /usr/lib/locale Обычный путь по умолчанию для скомпонованных файлов данных отдельных локалей.
    outputpath/LC_ADDRESS Файл результата содержит информацию о формате адресов и географических элементах.
    outputpath/LC_COLLATE Файл результата содержит информацию о правилах сравнения строк.
    outputpath/LC_CTYPE Файл результата содержит информацию о классах символов.
    outputpath/LC_IDENTIFICATION Файл результата содержит метаданные о локали.
    outputpath/LC_MEASUREMENT Файл результата содержит информацию о единицах измерения (метрическая или система мер США).
    outputpath/LC_MESSAGES/SYS_LC_MESSAGES Файл результата содержит информацию о языке, на котором должны выводиться сообщения и как выглядят ответы «да» и «нет».
    outputpath/LC_MONETARY Файл результата содержит информацию о правилах написания денежных единиц.
    outputpath/LC_NAME Файл результата содержит информацию об описании персон.
    outputpath/LC_NUMERIC Файл результата содержит информацию о правилах написания не денежных числовых единиц.
    outputpath/LC_PAPER Файл результата содержит информацию о параметрах, относящихся к размерам бумаги.
    outputpath/LC_TELEPHONE Файл результата содержит информацию о форматах, используемых в телефонных службах.
    outputpath/LC_TIME Файл результата содержит информацию о форматах значений даты и времени.


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

    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