Страницы

Поиск по вопросам

среда, 28 ноября 2018 г.

Написание новых man-страниц

В /usr/share/man/man1/ находятся мануалы для программ с расширением gz. Внутри этих gz архивов html (если верить команде file /usr/share/man/man1/ab.1) документ с похожим содержанием: (
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .\" DO NOT EDIT! Generated from XML source. .\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \
(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "AB" 1 "2015-05-01" "Apache HTTP Server" "ab"
.SH NAME ab \- Apache HTTP server benchmarking tool
Вопросы:
Это чистый html ? Как добавить дополнительную локализацию,чтобы сохранился оригинал.Т.е переведённый файл нужно будет добавить в этот же gz архив или создавать для новой локализации отдельный gz архив в отдельной папке /usr/share/man/ru/man1/локализация_для_проги.gz ? Что означает конечная цифра 1 в названии файла ? При локализации ab.1 мне нужно будет изменить его на ab.2 ?


Ответ

Это чистый html ?
Нет, это даже не язык разметки. это plain-text, разбавленный командами форматирования roff. когда-то программа, понимающая это форматирование, и способная оформить текст в каком-нибудь другом формате, называлась runoff, потом пошли наследники — troff, nroff, groff. (доп. см. $ man 7 man)
Как добавить дополнительную локализацию,чтобы сохранился оригинал.Т.е переведённый файл нужно будет добавить в этот же gz архив или создавать для новой локализации отдельный gz архив в отдельной папке /usr/share/man/ru/man1/локализация_для_проги.gz?
Да, локализованные man-страницы надо помещать в каталоги, называющиеся по имени языка локализации. каталоги должны располагаться на том же уровне иерархии, что и каталоги для секций (см. следующий ответ), и тоже должны быть разбиты на под-каталоги с секциями (man1, man2 и т.д.). т.е., путь должен звучать примерно как: /usr/share/man/ru/man1/программа.1 (или /usr/share/man/ru/man1/программа.1.gz, если файл сжат программой gzip)
Что означает конечная цифра 1 в названии файла?
Это номер секции. цитата из $ man 1 man
1 Executable programs or shell commands 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard]
Для примера: $ man 1 man — это запуск программы man с передачей ей двух параметров — номера секции (1) и названия запрашиваемой страницы (man). номера секций фигурируют не только в именах каталогов, но и в именах файлов (предполагаю, что последнее — это просто дань традиции или «тяжёлое наследие»)
При локализации ab.1 мне нужно будет изменить его на ab.2?
Нет, переименовывать не надо. Разве что файл по смыслу должен принадлежать секции 2 и размещаться каталоге ru/man2 (см. предыдущий ответ).

Комментариев нет:

Отправить комментарий