Xfce Wiki

Sub domains
 

This is an old revision of the document!


Merge PO files

The command line tool msgmerge is used to merge translated strings from two PO files into one. It is really easy to use, here is a generic example:

msgmerge up_to_date_po-file target_po-file > output.po

The result in output.po contains the target_po-file with the new translated strings from the up_to_date_po-file.

This tool can be used to merge strings from a stable branch into the development branch (or vice versa).

A specific example is probably handy. Suppose you have a Dutch translation file for a package called “packageW”.

This is fully translated in the stable “Xfce 4.8” and needs to be merged with an incomplete Dutch translation file in the development branch “master”. Goal: prevent unnecessary work in translating the development branch.

Both files are in the directory Downloads of your home directory, which is the usual location of downloaded files.

Copy/paste the following command in your terminal:

cd Downloads

(press Enter)

Now copy/paste the following command in your terminal:

msgmerge packageW-xfce-4-8.nl.po packageW-master.nl.po > NEWpackageW-master.nl.po

(press Enter)

Then delete both “packageW-xfce-4-8.nl.po” (you don't need it anymore) and “packageW-master.nl.po” (you don't want a name conflict in the next step).

Then rename “NEWpackageW-master.nl.po” to “packageW-master.nl.po”.

Finally: upload “packageW-master.nl.po” in Transifex.

Note that you cannot send the output directly to “packageW-master.nl.po”, as it will fail with a totally unchanged PO file (because of the name conflict).