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 можно найти здесь:
АВТОРЫ
Мартин Кенсон (Martin Quinson) (mquinson#debian,org)
АВТОРСКИЕ ПРАВА И ЛИЦЕНЗИИ
Copyright 2005 by SPI, inc.
Данная программа является свободным программным обеспечением; вы можете распространять и/или изменять её на условиях Универсальной общественной лицензии (GPL) GNU v2.0 или новее (см. файл COPYING).
2024-06-26 | perl v5.38.2 |