New program versions, old translation files

After you have made your first translation, you will find that your old translation file needs to be updated for this new version. This is the procedure:

Extract strings from the new source code. The po file that was generated by this, is called the "template", because it determines which messages that the final translation must contain. You can then update the old translation file to the new translation template using the merge functionality. Linux users have to use the msgmerge program. Windows users both have a command line tool, but can also click with the right mouse button on the old translation file in Windows Explorer and choose "Merge template". Here, you can pick the template file and do the merge.

The result is a file that contains the messages of the template, with the automated comments from the template and the translations from the translation files.

Since the string extraction tools always extract in the same order, and since the merging will preserve the order from the template, po files are very suitable to be stored in source code version control systems like CVS, FreeVCS, SourceSafe, PVCS, TeamSource etc. Just make sure that you merge with the template before putting a new copy into the version control system.