Xfce Wiki

Sub domains
 

Слияние файлов PO

We are deprecating the localised wiki.xfce.org pages in favour of the official documentation, which is always kept up to date. This page will be deleted on 1 November 2026. A copy will be preserved on archive.org for historical purposes.

Утилита командной строки 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.