Scroll to navigation

LOCALE::PO4A::VIMHELP.3PM(1) User Contributed Perl Documentation LOCALE::PO4A::VIMHELP.3PM(1)

НАЗВА

Locale::Po4a::VimHelp — перетворення файлів довідки до Vim на файли PO, і навпаки

ОПИС

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

"Locale::Po4a::VimHelp" — допоміжний модуль для перекладу файлів довідки до Vim. Див. також створення файлів довідки <https://vimhelp.org/helphelp.txt.html#help-writing>, щоб дізнатися більше про синтаксис.

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

Цей модуль перебуває на початковій стадії розробки. Його успішно перевірено на простих файлах, зокрема "helphelp.txt". Втім, перевірка на повноцінних файлах довідки усе ще попереду, і спосіб обробки може бути виправлено і удосконалено, особливо у перенесенні рядків в абзацаї.

РОЗРОБКА

Обробка файлів довідки Vim для po4a є складною справою. Тут наведено лише декілька проблем, які виявлено під час розробки цього модуля.is difficult. Якщо у вас є якісь ідеї, не соромтеся надіслати латку (із додатковими перевірками).

"1. foo" — виглядає як упорядкований список
Не непотрібним. Зверніться до наступного абзацу.

 There are 2 wandering tanukis, not
 1. He's using his cloning technique.
    

З тої самої причини, те, що виглядає як заголовок (наприклад "1.1 bar") або невпорядкований список (наприклад "o baz") не може бути виявлено.

Виключені праві теґи слід виключити з цілей перекладу
Це проблемна тема іще і через те, що її пов'язано із відмінностями мов перекладу.

Розгляньмо такий приклад.

 Типове і коротке поняття у деяких мовах, *теґи*
    

яке може бути перекладено як

 Теґи є незвичними, немає відповідних понять і *теґів*
 потрібне довше речення, щоб пояснити їх у відповідній мові
    

Коли таке трапляється, вам доведеться вирішувати, де ви хочете додати теґ коректно. Це не просто. Файл довідки до Vim має формат із жорстким перенесенням рядків, навіть для частин, які не є блоками програмного коду.

Те саме, стосується посилань на теґи, зокрема "|ref|".

Використання "--wrapcol" для стеження за шириною тексту
Використання параметра "--wrapcol" для видачі попереджень, коли ширина тексту перевищує задані межі, здається розумним підходом. Офіційні файли довідки Vim містять рядок режиму, такий як "vim:tw=78:ts=8:noet:ft=help:norl:", як показано в "runtime/doc/if_perl.txt" <https://github.com/vim/vim/blob/04cc8975930b7b2c5d6753d3eddf57dab2816518/runtime/doc/if_perl.txt#L307>. Однак, є кілька проблем, які слід врахувати:
Поведінка при обробці файла
Якщо реалізовано цей параметр, ідеально було б спочатку прочитати весь файл, визначити, чи є рядок режиму, та визначити, на які роздівли він впливає. На жаль, у цьому випадку механізм попступової обробки не використовується.
Типові і нетипові значення
Загальне типове значення для "--wrapcol" становить 76, тоді як у файлах довідки Vim зазвичай використовується 78. У більшості випадків значення у параметрах, що передаються цьому модулю, типово дорівнює 76, але незрозуміло, чи це значення було встановлено явно, чи застосовано неявно.

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

Locale::Po4a::TransTractor(3pm), po4a(7)

АВТОРИ

 gemmaro <gemmaro.dev@gmail.com>

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

 © gemmaro, 2024, 2025.

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

2025-09-14 perl v5.40.1