Archive for August, 2013|Monthly archive page

Integrating OmegaT with MyMemory

Thursday, August 29th, 2013

MyMemory (created by the Italian company Translated.net) provides an open translation memory (TM) server that can be accessed for free by everyone. There are some limitations on the number of queries a user can run, but for the average freelance translator it should be sufficient. In addition to manual searches, MyMemory offers an open API that can be used to retrieve TM contents. These results are returned in either JSON or TMX format and they also include a machine-translation match from Google.

I have recently integrated the MyMemory TM server into OmegaT as a machine translation plugin. Initially, I went for the JSON format, which is easier to parse, but alas! I noticed too late that the JSON library I was using wasn’t compatible with OmegaT’s GPL v2 license (which has been updated to v3 in the meantime). So, I went for TMX instead, which requires some XML parsing and XPath rules to extract the right contents.

During testing we noticed that more often than not the results provided by the TM server were not that helpful. This is not too surprising, since retrieving meaningful matches this way is only possible, if someone else has translated a very similar sentence for this particular language combination before and uploaded it to MyMemory. Therefore, I separated the plugin into an MT plugin and a TM plugin. Both can be used independently. The TM contents could still be useful, of course, for instance in team projects. In any case, the users should be careful when sending contents to MyMemory that they don’t violate any copyrights or non-disclosure agreements. After all, anything you send to MyMemory will be available to the rest of the world.

The update is available in OmegaT v3.0.4 Update 2. Have fun playing around with the plugin and if you have any comments, send me a note: martin (at) wunderlich DOT com. Thank you.