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 an example:

msgmerge updated-po-file reference-file > output.po

The result in output.po contains the reference-file with the new translated strings from the updated-po-file.

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

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