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).