MSGUNTYPOT.1P(1) User Contributed Perl Documentation 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).

2024-06-08 perl v5.38.2