ИМЯ
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 и -c
работают
не так как
можно
ожидать, то
есть -f это
не тоже
самое что
--force.
- -f charmapfile,
--charmap=charmapfile
- Задаёт
файл,
которым
определяется
набор
символов,
используемый
в файле
входных
данных.
Если
значение
файл_карты_символов
содержит
косую
черту («/»),
то оно
рассматривается
как
название
карты
символов. В
противном
случае,
файл
ищется в
текущем
каталоге и
каталоге
по
умолчанию
для карт
символов.
Если
установлена
переменная
окружения
I18NPATH, то после
текущего
каталога
также
просматриваются
$I18NPATH/charmaps/ и $I18NPATH/.
Каталог по
умолчанию
для карт
символов
можно
увидеть в
выводе localedef
--help.
- -i inputfile,
--inputfile=inputfile
- Задаёт
файл
определения
локали для
компиляции.
Файл
ищется в
текущем
каталоге и
каталоге
по
умолчанию
для файлов
определения
локалей.
Если
установлена
переменная
окружения
I18NPATH, то после
текущего
каталога
также
просматриваются
$I18NPATH/locales/ и $I18NPATH.
Каталог по
умолчанию
для файлов
определения
локалей
можно
увидеть в
выводе localedef
--help.
- -u repertoirefile,
--repertoire-map=repertoirefile
- Из
файла_набора
читаются
отображения
символических
имён в
кодовые
точки
Юникода.
Если
значение
файла_набора
содержит
косую
черту («/»),
то оно
рассматривается
имя пути
карты
набора (repertoire map).
В
противном
случае,
файл
ищется в
текущем
каталоге и
каталоге
по
умолчанию
для карт
наборов.
Если
установлена
переменная
окружения
I18NPATH, то после
текущего
каталога
также
просматриваются
$I18NPATH/repertoiremaps/ и $I18NPATH.
Каталог по
умолчанию
для карт
наборов
можно
увидеть в
выводе localedef
--help.
- -A aliasfile,
--alias-file=aliasfile
- Использовать
файл_псевдонимов
для поиска
псевдонимов
имён
локалей.
Для файла
псевдонимом
нет файла
по
умолчанию.
- --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