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

--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
    Записывать файлы результата даже, если есть предупреждения при генерации входных данных.

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

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

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

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

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

-?, --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

СМОТРИТЕ ТАКЖЕ
locale(1), charmap(5), locale(5), repertoiremap(5), locale(7)