Страницы

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

среда, 25 декабря 2019 г.

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

#debian #локализация #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 \\n(.$>=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 ? 

    


Ответы

Ответ 1



Это чистый 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 (см. предыдущий ответ).

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

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