Linux repositories inspector
2020-01-30

po-debconf

tool for managing templates file translations with gettext

НАЗВАНИЕ

debconf-gettextize — создаёт PO-файлы из шаблонов debconf для последующего перевода

СИНТАКСИС

debconf-gettextize [-v] [-h] [--podir=КАТАЛОГ] [--choices] [--merge] мастер_файл [мастер_файл ...]

ОПИСАНИЕ

В файлах /var/lib/dpkg/info/*.templates, которые читает debconf, содержится и английский текст и его перевод. Но в пакетах с исходными текстами переводы выделены в отдельные файлы для простоты работы переводчиков. В первоначальной реализации мастер-файл templates содержал только английский текст, а файлы templates.xx — оригинальные и переведённые строки для языка xx. Программа debconf-mergetemplate объединяла мастер-файл и переведённые шаблоны.
Новая реализация po-debconf основывается на использовании gettext. Сопровождающие помечают переводимые поля, предваряя их символом подчёркивания, строки с английским текстом автоматически выделяются в POT-файл, переводчики работают с обычными PO-файлами, а программа po2debconf генерирует объединённый файл шаблонов прежней структуры.
Программа debconf-gettextize изначально разрабатывалась для помощи в в переходе к новой реализации.
o Она читает список мастер-файлов и связанные с ними переводы, а затем генерирует файлы po/*.po для каждого языка, для которого есть переведённые строки.
o Каждому входному файлу добавляется суффикс .old, и новый мастер-файл перезаписывается на его место; он идентичен предыдущему мастер-файлу, за исключением того, что поля для перевода начинаются с символа подчёркивания. Таким образом разработчики могут задать, какие поля должны иметь перевод, а какие нет, так как их значения не зависят от локали.
o Также создаётся файл po/POTFILES.in, который содержит список templates файлов для обработки debconf-updatepo.
Обычно, программа debconf-gettextize должна запускаться только один раз для преобразования из формата первоначальной реализации в po-debconf формат, но она также может быть использована после для преобразования поля _Choices в __Choices (или наоборот) без потери переводов, если используется флаг --merge (вместе с --choices или нет). Нужный шаблон, содержащий изменяемые поля _Choices или __Choices, будет скопирован в временный файл шаблона, который будет передан как параметр для debconf-gettextize. Затем будет выполнено следующее:
1. Для создания файла шаблонов с переводом будет запущена po2debconf с указанием этого файла шаблонов в параметре.
2. Файл шаблонов с переводом будет обработан как описано выше и будут созданы PO-файлы.
3. Эти созданные PO файлы объединяются с существующими.
При объединении PO-файлов перед запуском debconf-updatepo поля _Choices будут заменены на __Choices (или наоборот) из первоначального файла шаблонов, иначе новые переводы будут помечены как неточные (fuzzy).

ПАРАМЕТРЫ

-h, --help Показать справку по использованию и завершить работу.
-v, --verbose Выводить подробности работы.
--podir=КАТ Указать каталог PO-файлов. По умолчанию, PO-файлы ищутся в подкаталоге po, который находится ниже местоположения первого мастер-файла.
--choices По умолчанию, debconf-gettextize заменяет поля Choices на _Choices. Если указан этот флаг, будут использоваться поля __Choices.
--merge Если этот флаг установлен, то строки добавляются к существующим PO-файлам. Файлы шаблонов и po/POTFILES.in не изменяются.

ПРЕДОСТЕРЕЖЕНИЯ

Поле Default является специальным, если типом шаблона являются Select или Multiselect, так как значение выбирается из списка English, даже для локализованных значений. Обычно, это поле изменять не требуется, но иногда локализованные значения более выразительны (например, для выбора языка по умолчанию для приложения). Для того, чтобы указать переводчикам, что локализованное поле Default является специальным, по соглашению, вы должны назвать его _DefaultChoice, а не _Default.

АВТОРЫ


  Дэнис Барбье (Denis Barbier) <>
  Мартин Квинсон (Martin Quinson) <>

REFERENCED BY

⇧ Top