MSGUNTYPOT.1P(1)

НАЗВАНИЕ
msguntypot - обновляет PO-файлы при исправлении опечаток в POT-файле

КРАТКОЕ СОДЕРЖАНИЕ
msguntypot -o старый_pot -n новый_pot po-файлы ...

ОПИСАНИЕ
При исправлении тривиальных ошибок, которые не влияют на перевод (например, опечатки), в POT-файле, необходимо снять пометку «неточный перевод» (fuzzy) с соответствующей строки msgstr в переведённых PO-файлах, чтобы не нагружать переводчиков дополнительной работой данного рода.

При выполнении вручную, эта задача сложна и чревата ошибками; данный инструмент предназначен для того чтобы делать это корректно. Вам просто необходимо предоставить две версии POT-файла: до редактирования и после, как указано выше, и всё будет сделано автоматически.

КАК ЭТИМ ПОЛЬЗОВАТЬСЯ
Если коротко, то когда вы обнаружили опечатку в одном из сообщений [английских], выполните следующие действия:

- Выполните обновление ваших POT и PO-файлов.
      make -C po/ update-po # для переводов сообщений программ
      debconf-updatepo      # для переводов debconf
      po4a po4a.conf        # для переводов документации управляемых po4a

    или что-то подобное, в зависимости от конфигурации сборки вашего проекта. Вы же знаете, как убедиться, что POT и PO-файлы в актуальном состоянии, не так ли?

- Сделайте копию вашего POT-файла.
      cp myfile.pot myfile.pot.orig

- Создайте копии всех ваших PO-файлов.
      mkdir po_fridge; cp *.po po_fridge

- Исправьте опечатки.
    $EDITOR файл_в_котором_присутствуют_опечатки

- Выполните обновление ваших POT и PO-файлов.
    См. выше.

После всех предыдущих действий, исправление опечатки привело к тому, что все переводы были помечены как неточные (fuzzy), и эта мелкая неприятная особенность — единственное, что отличает PO-файлы в вашем основном каталоге от тех, что сохранены в po_fridge. Дабы разрешить эту проблему выполните следующие действия.

- Удалите перевод с пометками «неточный» (fuzzy), восстановите перевод из хранилища (fridge).
      cp po_fridge/*.po .

- Вручную объедините PO-файлы с новым POT-файлом, принимая в расчёт существование бесполезных неточных переводов.
      msguntypot -o myfile.pot.orig -n myfile.pot *.po

- Очистка.
      rm -rf myfile.pot.orig po_fridge

Всё выполнено. Опечатка была ликвидирована из строки msgstr, а также из POT и PO-файлов, и в PO-файлах отсутствуют пометки о неточном переводе. Ваши переводчики скажут вам спасибо за это.

СМОТРИТЕ ТАКЖЕ
Несмотря на своё название, этот инструмент не входит в комплект gettext. Это часть po4a. Точнее, это сценарий Perl использующий модули po4a. Более подробную информацию о po4a можно найти здесь:

po4a(7)

АВТОРЫ
 Мартин Кенсон (Martin Quinson) (mquinson#debian,org)

АВТОРСКИЕ ПРАВА И ЛИЦЕНЗИИ
Copyright 2005 by SPI, inc.

Данная программа является свободным программным обеспечением; вы можете распространять и/или изменять её на условиях Универсальной общественной лицензии (GPL) GNU v2.0 или новее (см. файл COPYING).