Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
translations:msgmerge [2010/10/02 17:26] – external edit 127.0.0.1translations:msgmerge [2012/01/30 17:55] (current) gymka
Line 1: Line 1:
 ====== Merge PO files ====== ====== Merge PO files ======
-The command line tool ''msgmerge'' is used to merge two PO files into one. It is really easy to use, here is an example:+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 updated-po-file reference-file > output.po+  msgmerge your-po-file reference-po-file > output.po
  
-The result in output.po contains the reference-file with the new translated strings from the updated-po-file.+The result in ''output.po'' contains translations from ''your-po-file'' merged with the ''reference-po-file''.
  
-This tool can be used to merge strings from the development branch towards a stable branch or vice-versa.+It is possible to merge strings by bypassing the redirection with the following options:
  
-Example with a PO file:+  msgmerge --backup=none -U your-po-file reference-po-or-pot-file
  
-  msgmerge ~/Downloads/fr.po fr.po > fr.po.new +This has the same effect, except the output is directly written inside ''your-po-file''
-  mv fr.po.new fr.po+ 
 +You can use a POT file as reference PO file in order to sync your current translations with new and suppressed messages. 
 + 
 +===== Merge between stable and development branch ===== 
 + 
 +You can use this tool to merge strings from a development branch into the stable branch or vice versa. This is highly recommended to avoid unnecessary work. 
 + 
 +A specific example is probably handy. Suppose you are working on the project //Thunar//, you can download PO files on [[https://translations.xfce.org/projects/p/thunar/|Transifex]] for both the stable and development branch. 
 + 
 +Let's say //Thunar// is fully translated in the stable "xfce-4.8" branch and needs to be merged with an incomplete Dutch translation file in the development branch "master"
 + 
 +Once downloaded, let's say both files are available 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 
 + 
 +Now copy/paste the following command in your terminal: 
 + 
 +  msgmerge Thunar-xfce-4-8.nl.po Thunar-master.nl.po > NEW-Thunar-master.nl.po 
 + 
 +Then delete both ''Thunar-xfce-4-8.nl.po'' (you don't need it anymore) and ''Thunar-master.nl.po'' (you don't want a name conflict in the next step). 
 + 
 +Upload ''NEW-Thunar-master.nl.po'' in Transifex.
  
-Note that you cannot send the output directly on fr.po because it will fail with an 100% untranslated PO file.