Locale::Po4a::Pod —
перетворення
даних POD на
файли PO, і
навпаки
use Locale::Po4a::Pod;
my $parser = Locale::Po4a::Pod->new (sentence => 0, width => 78);
# Прочитати POD з STDIN і записати до STDOUT.
$parser->parse_from_filehandle;
# Прочитати POD з file.pod і записати до file.txt.
$parser->parse_from_file ('file.pod', 'file.txt');
Locale::Po4a::Pod — модуль,
який
допомагає
у
перекладі
документації
у форматі POD
(основною
мовою
документації
до Perl) іншими
мовами
(якими
розмовляють
люди).
Я вважаю
цей модуль
дуже
стабільним.
У нього
лише одна
відома
вада,
пов'язана
із
/usr/lib/perl5/Tk/MainWindow.pod (та
деякими
іншими
сторінками,
див. нижче),
де
міститься
такий
рядок:
C<" #n">
На жаль, у
версії po4a цей
рядок
ділиться
за
пробілом
на два
рядки. У
результаті,
якщо у
початковій
версії
сторінка
підручника
містить
таке:
" #n"
то після
обробки
вона
містить
таке:
"" #n""
Це логічно,
оскільки
C<щось там>
переписується
як "щось
там".
Повний
список
сторінок,
які є
проблемними
у цьому
сенсі, з
моєї
системи (у
мене 564
сторінок;
зауважте,
що перелік
залежить
від
вибраної
позиції
перенесення
рядків):
/usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod
/usr/share/perl/5.8.0/pod/perlapi.pod /usr/share/perl/5.8.0/pod/perldelta.pod
/usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod
/usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod
Будучи
класом,
який
походить
від класу Pod::Parser,
Locale::Po4a::Pod
підтримує
ті самі
методи та
інтерфейси.
Докладний
опис можна
знайти на
сторінці
підручника
щодо Pod::Parser. Якщо
коротко,
клас
створює
обробки за
допомогою
"Locale::Po4a::Pod->new()", а
потім
викликає
parse_from_filehandle() або
parse_from_file().
new() може
примати
параметри
у форматі
пар
ключ/значення.
Ці
параметри
керують
поведінкою
обробника.
Коректні
параметри
є
спільними
для усіх
дочірніх
класів Pod::Parser:
- alt
- Якщо
встановлено
значення true,
вибирає
альтернативний
формат
виведення,
який, окрім
інших
речей,
використовує
інший
стиль
заголовків
і позначає
запис =item
двокрапкою
на лівому
полі.
Типовим
значенням
є false.
- code
- Якщо
встановлено
значення true,
до
виведених
результатів
буде
включено
не
пов'язані
із POD
частини
файла
вхідних
даних.
Корисно
для файлів
із кодом,
документованим
за
допомогою
блоків POD, де
слід
перекласти
POD, а код
лишити
незмінним.
- indent
- Кількість
пробілів у
відступах
для
звичайного
тексту і
типові
відступи
для блоків
=over. Типове
значення —
4.
- loose
- Якщо
встановлено
значення true,
після
заголовка
=head1 буде
виведено
порожній
рядок. Якщо
встановлено
значення false
(типовий
варіант),
після =head1 не
буде
додано
порожній
рядок, хоча
такий
рядок
виводитиметься
після =head2. Це
типова
поведінка,
оскільки
таке
форматування
є
очікуваним
для
сторінок
підручника.
Якщо ви
форматуєте
довільні
текстові
документи,
встановлення
значення true
може
покращити
зовнішній
вигляд
результатів.
- quotes
- Визначає
лапки, які
буде
використано
для тексту
C<>. Якщо
значенням
є
одинарний
символ, він
використовується
для лівих і
правих
лапок; якщо
значенням
є два
символи,
перший
символ
використовується
для лівих
лапок, а
другий —
для правих;
якщо ж
символів
чотири,
перші два
використовуються
як ліві
лапки, а
останні
два — як
праві.
Може
приймати
особливе
значення
none, яке
означає, що
навколо
тексту C<>
не
додаватимуться
лапки.
- sentence
- Якщо
встановлено
значення true,
Locale::Po4a::Pod
вважатиме,
що кожне
речення
завершується
двома
пробілами
і
намагатиметься
зберігати
такі
інтервали
між
реченнями.
Якщо
встановлено
значення false,
усі
послідовні
пробіли у
звичайних
абзацах
будуть
стискатися
до
одинарного
пробілу.
Типовим
значенням
є true.
- width
- Позиція,
на якій
слід
переносити
рядки
тексту
праворуч.
Типове
значення —
76.
Pod::Parser,
Locale::Po4a::Man(3pm),
Locale::Po4a::TransTractor(3pm),
po4a(7)
Denis Barbier <[email protected]>
Martin Quinson (mquinson#debian.org)
© SPI, inc., 2002.
Ця
програма є
вільним
програмним
забезпеченням;
ви можете
поширювати
її і/або
вносити до
неї зміни
за умов
дотримання
GPL (див. файл
COPYING).