
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 НАЗВА

Locale::Po4a::TeX — перетворення документів TeX та похідних документів на файли PO, і навпаки

=head1 ОПИС

Метою проєкту po4a (PO для усього) є спрощення перекладу (та, що ще цікавіше, супровід перекладів) за допомогою інструментів gettext у областях, де такий переклад спочатку не передбачався, зокрема у документації.

Locale::Po4a::TeX — модуль, який допомагає у перекладі документів TeX іншими мовами (якими розмовляють люди). Модулем можна також скористатися як основою для побудови модулів для заснованих на TeX документів.

Ймовірно, користувачам варто скористатися модулем LaTeX, який є спадкоємцем модулі TeX і містити визначення загальних команд LaTeX.

=head1 ПЕРЕКЛАД ЗА ДОПОМОГОЮ PO4A::TEX

Цим модулем можна скористатися безпосередньо для обробки типових документів TeX. Він поділить ваш документ на менші блоки (абзаци, середовища verbatim, заголовки і пункти списків).

Передбачено декілька параметрів (які описано у наступному розділі), за допомогою яких можна налаштувати поведінку модуля. Якщо модуль не відповідає формату вашого документа, вам варто написати власний модуль, який походитиме від цього, і у якому ви опишете параметри формату. Опис процедури написання наведено у розділі B<НАПИСАННЯ ПОХІДНИХ МОДУЛІВ> нижче.

Цей модуль також можна налаштувати рядками, які починаються з «% po4a:» у файлі TeX. Процедуру описано у розділі B<НАЛАШТОВУВАННЯ НА МІСЦІ> section.

=head1 ПАРАМЕТРИ, ЯКІ МОЖНА ПЕРЕДАВАТИ ЦЬОМУ МОДУЛЮ

Ось параметри, які можна передавати цьому модулю:

=over 4

=item B<debug>

Задіяти діагностику деяких внутрішніх механізмів цього модуля. Скористайтеся початковим кодом, щоб ознайомитися із частинами, діагностику яких можна виконувати.

=item B<no_wrap>

Список відокремлених комами середовищ, у яких не слід змінювати перенесення рядків.

Зауважте, що між середовищами verbatim і no_wrap є різниця.  У блоках verbatim не виконується аналіз команд та коментарів.

Якщо це середовища ще не було зареєстровано, po4a вважатиме, що у нього немає жодних параметрів.

=item B<exclude_include>

Список відокремлених двокрапками назв файлів, які не слід включати за допомогою команд \input і \include.

=item B<definitions>

Назва файла, що містить визначення для po4a, як це визначено у розділі B<НАЛАШТОВУВАННЯ НА МІСЦІ>. Ви можете скористатися цим параметром, якщо вставляння визначень до документа, який ви перекладаєте, є неможливим.

=item B<verbatim>

Список відокремлених комами назв середовищ, вміст яких слід відтворювати буквально.

Якщо це середовища ще не було зареєстровано, po4a вважатиме, що у нього немає жодних параметрів.

=back

Скористайтеся цими параметрами для перевизначення типової поведінки визначених команд.

=head1 НАЛАШТОВУВАННЯ НА МІСЦІ

Налаштувати модуль TeX можна рядками, які починаються з B<% po4a:>. Такі рядки вважатимуться командами, які віддаються засобу обробки. Передбачено такі команди:

=over 4

=item B<% po4a: command> I<команда1> B<alias> I<команда2>

Вказує на те, що аргументи команди I<команда1> слід вважати аргументами команди I<команда2>.

=item B<% po4a: command> I<команда1> I<параметри>

Надає змогу докладно описати параметри команди I<команда1>. Ці дані буде використано для перевірки кількості аргументів та їхніх типів.

Ви можете вказати перед командою I<команда1>

=over 4

=item зірочку (B<*>)

po4a видобуде цю команду з абзаців (якщо її розташовано на початку або наприкінці абзацу). Перекладачам слід буде перекласти параметри, які позначено як придатні до перекладу.

=item плюс (B<+>)

Як і для зірочки, команду буде видобуто, якщо вона стоятиме на початку або наприкінці блоку, але параметри не перекладатимуться окремо. Перекладачеві слід буде перекласти команду, об'єднану із усіма її параметрами. Це надає змогу зберегти більше контексту і корисно для команд із параметрами, які є короткими словами із багатьма значеннями (і перекладами).

Зауваження: у цьому випадку вам не потрібно вказувати, які параметри можна перекладати, але po4a має знати тип і кількість параметрів.

=item мінус (B<->)

У цьому випадку команда не видобуватиметься з будь-якого блоку. Але якщо вона цілком формуватиме блок, перекладачеві буде надано можливість перекласти лише параметри, які позначено як придатні до перекладу. Корисно для команд зміни шрифту. Такі команди, зазвичай, не слід відокремлювати від абзацу (щоб зберегти контекст), але немає ніякого сенсу показувати їх перекладачеві, якщо усередині такої команди залишається цілий рядок.

=back

Аргумент I<параметри> є набором [] (щоб вказати необов'язковий
аргумент) або {} (щоб вказати обов'язковий аргумент).
Ви можете вказати символи підкреслювання (_) між дужками, щоб
позначити, що параметр слід перекладати. Приклад:
 % po4a: command *chapter [_]{_}

Це вказує на те, що у команди chapter є два параметри: необов'язковий
(скорочений заголовок) і обов'язковий, обидва має бути перекладено.
Якщо ви хочете вказати, що команда href має два обов'язкові параметри,
які ви не хочете перекладати, адресу (перший параметр), і що ви не
хочете, щоб цю команду було відокремлено від її абзацу (щоб
перекладач міг пересунути посилання у реченні), ви можете зробити так:
 % po4a: command -href {}{_}

У цьому випадку відомості, що позначають, які аргументи має бути перекладено, використовуються, лише якщо абзац складається лише з цієї команди href.

=item B<% po4a: environment> I<середовище> I<параметри>

За допомогою цього рядка можна визначити параметри, які прийматимуться середовищем I<середовище>.
Ці дані пізніше буде використано для перевірки кількості аргументів команди
\begin і визначення тих параметрів, які слід перекласти.
Синтаксис аргументу I<параметри> є тим самим, який описано для
інших команд.
Першим параметром команди \begin є назва середовища.
Цей параметр має бути вказано у списку параметрів. Ось декілька
прикладів:
 % po4a: environment multicols {}
 % po4a: environment equation

Щодо команд, перед записом I<середовище> можна додавати «плюс» (+), щоб вказати, що команду \begin слід перекладати із усіма її аргументами.

=item B<% po4a: separator> I<середовище> B<">I<формальний_вираз>B<">

Вказує, що середовище слід розділити за вказаним формальним виразом.

Формальний вираз у лапках. Не повинен містити зворотних посилань. Якщо потрібна група, слід використовувати (?:). Також може знадобитися екранування деяких символів.

Наприклад, у модулі LaTeX використовується формальний вираз "(?:&|\\\\)" для окремого перекладу усіх комірок таблиці (рядки відокремлюються «\\», а комірки — «&»).

Позначення середовища буде розширено до типу, показаного у файлі PO. Цим можна скористатися для поділу за «\\\\» у першому обов'язковому аргументі команди title. У нашому випадку, середовищем буде title{#1}.

=item B<% po4a: verbatim environment> I<середовище>

Вказує, що I<середовище> є середовищем буквального цитування типу verbatim. Коментарі і команди у такому середовищі ігноруватимуться.

Якщо це середовища ще не було зареєстровано, po4a вважатиме, що у нього немає жодних параметрів.

=back

=head1 НАПИСАННЯ ПОХІДНИХ МОДУЛІВ

=over 4

=item B<pre_trans>

=item B<post_trans>

=item B<add_comment>

Додати рядок як коментар до наступного перекладеного елемента. Здебільшого, корисно для модуля texinfo, оскільки коментарі автоматично обробляються у TeX.

=item B<translate>

Обгортка навколо translate з Transtractor, з фільтрами попередньої і остаточної обробки.

Коментарі до абзацу буде встановлено як коментар у PO для першого рядка цього абзацу, який можна перекладати.

=item B<get_leading_command>($buffer)

Ця функція повертає:

=over 4

=item Назву команди

Якщо на початку вказаного буфера не буде знайдено команди, цей рядок буде порожнім. Беруться до уваги лише команди, які можна відокремити. Список таких команд міститься у хеші %separated_command.

=item Варіант

Вказує, чи використано варіант. Наприклад, наприкінці команди section може бути додано зірочку (*) з метою вказати, що відповідний розділ не слід нумерувати. У цьому випадку у цьому полі буде міститися «*». Якщо варіантів немає, у полі міститиметься порожній рядок.

=item Масив кортежів (тип аргументу, аргумент)

Типом аргументу може бути або «{» (для обов'язкових аргументів), або «[» (для необов'язкових аргументів).

=item Решту буфера

Решта буфера після вилучення цієї початкової команди і її аргументів. Якщо команди не буде знайдено, модуль не змінюватиме вмісту початкового буфера і поверне його у це поле.

=back

=item B<get_trailing_command>($buffer)

Те саме, що і B<get_leading_command>, але для команд наприкінці буфера.

=item B<translate_buffer>

Рекурсивно перекласти буфер, відокремивши початкову і кінцеву команди (ті, які має бути перекладено окремо) з буфера.

Якщо у %translate_buffer_env визначено функцію для поточного середовища, цю функцію буде використано для перекладу буфера замість translate_buffer().

=item B<read>

Перевантажує read() Transtractor.

=item B<read_file>

Рекурсивно прочитати файл, дописавши включені файли, яких немає у списку масиву @exclude_include. Пошук включених файлів відбувається за допомогою команди B<kpsewhich> з бібліотеки Kpathsea.

Окрім частини, пов'язаної із включенням файлів, це буквальна копія read з Transtractor.

=back



=over 4

=item B<parse_definition_file>

Підпрограма для обробки файла за допомогою інструкцій po4a (визначень нових команд).

=item B<parse_definition_line>

Обробляє рядок визначення у формі «% po4a: ».

Докладніший опис наведено у розділі B<НАЛАШТОВУВАННЯ НА МІСЦІ>.

=item B<is_closed>

=item B<parse>

=item B<docheader>

=back

=head1 ВНУТРІШНІ ФУНКЦІЇ, які використовуються для написання похідних обробників

Функції команд і середовищ приймають такі аргументи (на додачу до об'єкта $self):

=over 

=item Назву команди

=item Варіант

=item Масив кортежів (тип, аргумент)

=item Поточне середовище

=back

Перші 3 аргументи видобуваються get_leading_command або get_trailing_command.

Функції команд і середовищ повертають переклад команди із аргументами і нове середовище.

Функції середовищ викликаються, якщо виявлено команду \begin. Вони викликаються з командою \begin та її аргументами.

Модуль TeX пропонує лише одну функцію команд і одну функцію середовищ: generic_command і generic_environment.

generic_command використовує інформацію, задану
register_generic_command або додаванням визначення до файла TeX:
 % po4a: command I<команда1> I<параметри>

generic_environment використовує інформацію, задану
register_generic_environment або додаванням визначення до файла TeX:
 % po4a: environment I<середовище> I<параметри>

Обидві функції перекладають лише параметри, які було вказано як придатні до перекладу (за допомогою «_»). generic_environment дописує назву середовища до стосу середовищ, а generic_command дописує назву команди і ідентифікатором параметра (наприклад, {#7} або [#2]).

=head1 СТАН ЦЬОГО МОДУЛЯ

Цей модуль потребує тестування.

Його було перевірено на одній книзі та документації до Python.

=head1 СПИСОК ЗАВДАНЬ

=over 4

=item Автоматичне виявлення нових команд

Модуль TeX міг би обробляти аргументи newcommand і намагатися вгадати кількість аргументів, їхній тип та те, чи слід їх перекладати.

=item Переклад роздільника середовищ

Якщо \item використано як роздільник середовищ, аргумент item має долучатися до наступного рядка.

=item Деякі команди має бути додано до стека середовища

Ці команди має бути вказано парами. Це надало б змогу вказувати команди, які розпочинають та завершують середовище verbatim.

=item Інше

Інші корисні нововведення вказано у файлі TODO архіву із початковим кодом.

=back

=head1 ВІДОМІ ВАДИ

Вади вказано у файлі FIXME архіву із початковим кодом.

=head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ

L<Locale::Po4a::LaTeX(3pm)|Locale::Po4a::LaTeX>, L<Locale::Po4a::TransTractor(3pm)|Locale::Po4a::TransTractor>, L<po4a(7)|po4a.7>

=head1 АВТОРИ

 Nicolas François <nicolas.francois@centraliens.net>

=head1 АВТОРСЬКІ ПРАВА ТА ЛІЦЕНЗУВАННЯ

© Nicolas FRANÇOIS <nicolas.francois@centraliens.net>, 2004, 2005.

Ця програма є вільним програмним забезпеченням; ви можете поширювати її і/або вносити до неї зміни за умов дотримання GPL (див. файл COPYING).

