ОБЗОР
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