We have just completed two new tools which will make the translation of ODF files a breeze. The tools are being developed in a branch the trunk of the Translate Toolkit (located at https://translate.svn.sourceforge.net/svnroot/translate/src/branches/translate/odf-xliff-first-try https://translate.svn.sourceforge.net/svnroot/translate/src/trunk).
odf2xliff extracts all translatable strings from an ODT file and stores the result as an XLIFF file. For example, to extract all strings from a file named "english_file.odt" into a an XLIFF file named "english_français.xlf", the following is executed:
odf2xliff english_file.odt english_français.xlf

xliff2odf takes a source ODF and an XLIFF file and creates a target ODT file which matches the layout of the source ODF file, but replaces the text of the source ODF file with the translations in the XLIFF file.
xliff2odf -t english_file.odt english_français.xlf fichier_français.odt

The -t flag used to specify the source ODF file (english_file.odt) for xliff2odf tells xliff2odf that the source ODF file a template.
Getting and running the tools
You can download the branch source either from our official Subversion repository:
svn co https://translate.svn.sourceforge.net/svnroot/translate/src/trunk
All of the interesting code is under storage/xml_extract.
You can also get it from my the toolkit's git mirror:
git clone git://github.com/winterstream/translate.git
git clone git://github.com/translateorgza/translate.git
The git branch name is odf-xliff-first-try.
Running the toolkit directly from source
We have instructions on our wiki.
Going forward
We are working with Itaapy to create a "standard" for representing ODF in XLIFF. Our documentation is at http://translate.sourceforge.net/wiki/developers/projects/odf.
Itaapy has done a lot of work in teasing out the ODF elements which should be translated. The work is part of their framework itools, which can be cloned with:
git clone git://hforge.org/itools.git
Updates
Changed the URLs to reflect that the ODF-XLIFF project is now located in the trunk (the branch will no longer be developed).
