start

# pomigrate2

Like pomigrate, pomigrate2 aims to move an existing translation to a new version based on updated PO Tempalte files. However, pomigrate2 will do this auotmatically with no user intervention. Therefore it is ideal when you are migrating many languages or migrating from related but divergent products eg Mozilla to Firefox. If you need control over the migration use pomigrate.

## Prerequisites

GNU Gettext:

- msginit
- msgcat
- msgmerge

## Latest Version

pomigrate2 is not currently disctributed as part of the toolkit. You can get the latest version from CVS

## Usage

pomigrate [options] <from> <to> <new templates>

Where:

from | is a directory of existing PO files
to | is the directory where the migrated PO files will be stored
new templates | this is the dorectory that contains the PO Template files

Options:

-F, --use-fuzzy-matching | use fuzzy algorithms when merging to attempt to match strings
-C, --use-compendium | create and use a compendium built from the migrating files
-C, --use-compendium=some-compendium.po | use an external compendium during the migration
--no-wrap | do not wrap long lines
--locale | set locale for newly born files

## Operation

pomigrate2 makes use of the Gettext tools msgmerge to perform its task. It firstly finds all files with the same name and location in the <from> directory as the <template> directory and copies these to the <to> directory. If there is no file in the <from> directory to match one needed by the <template> directory then it will msgcat all files in the <from> directory with the same name and copy them to the correct destination in the <to> directory. If all of that fails then msginit is used to initialise any missing PO files.

Lastly all the files in <to> are merged using msgmerge. This process updates the files to match the layout and messages in <templates>. Optionaly, by using --use-compendium, a compendium of all the translations in <from> can be created to be used in the final merge process.

## Bugs

None known