DOKK / manpages / debian 11 / po4a / msguntypot.1p.ru
MSGUNTYPOT(1p) Инструменты Po4a MSGUNTYPOT(1p)

НАЗВАНИЕ

msguntypot - обновляет PO-файлы при исправлении опечаток в POT-файле

СИНТАКСИС

msguntypot -o старый_pot -n новый_pot po-файлы ...

ОПИСАНИЕ

При исправлении тривиальных ошибок, которые не влияют на перевод (например, опечатки), в POT-файле, необходимо снять пометку «неточный перевод» с соответствующей строки 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-файлов.
См. выше.

На данный момент, исправление опечаток приводит к тому что все переводы помечаются как неточные, и это изменение является единственным различием между PO-файлом вашего основного каталога и тем, что хранится в po_fridge. Ниже приведён метод решения этой проблемы.

- Снять пометку неточного перевода, восстановив его из хранилища (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 (см. файл COPYING).

2020-12-09 Инструменты Po4a