Утилита командной строки msgmerge
используется для слияния переведённых строк из двух файлов PO в один. Она чрезвычайно проста в использовании, вот простой пример:
msgmerge your-po-file reference-po-file > output.po
Результирующий файл output.po
будет содержать переводы из your-po-file
, объединённые с reference-po-file
.
Также можно произвести слияние строк, не используя перенаправление вывода, с помощью следующих опций:
msgmerge --backup=none -U your-po-file reference-po-file
Эффект будет тем же, за исключение того, что вывод будет записан прямо в your-po-file
.
Вы можете использовать файл POT в качестве шаблона для файла PO для того, чтобы ваши текущие переводы учитывали новые и удалённые сообщения.
Вы можете использовать эту утилиту для слияния строк из разрабатываемой ветки в стабильную и обратно. Рекомендуется делать именно так во избежание лишней работы.
Рассмотрим конкретный пример. Предположим, вы работаете над проектом Thunar, вы можете загрузить файлы PO для стабильной и разрабатываемой веток с помощью Transifex.
Скажем, перевод Thunar полностью закончен в стабильной ветке “xfce-4.8” и требуется объединить его с незаконченным переводом в разрабатываемой ветке “master”.
Будем считать что после загрузки оба файла доступны в папке “Загрузки” вашей домашней папки, являющейся обычным местом для загруженных файлов.
Скопируйте следующую команду в ваш терминал:
cd Загрузки
Теперь скопируйте ещё одну команду в ваш терминал:
msgmerge Thunar-xfce-4-8.nl.po Thunar-master.nl.po > NEW-Thunar-master.nl.po
Затем удалите Thunar-xfce-4-8.nl.po
(вам он больше не нужен) и Thunar-master.nl.po
(вы ведь не хотите вызвать конфликт имён на следующем шаге?).
Загрузите файл NEW-Thunar-master.nl.po
в Transifex.