A translation memory is a software program designed as an aid for human translators. Translation memories are typically used conjunction with a wordprocessing program, a terminology management system, a multilingual dictionary, and even raw machine translation output.
A translation memory consists of a database of text segments in a source language and their translations in one or more target languages. These segments can be individual words or multiword phrases.
In use, the translator supplies a source text (a text to be translated) to the translation memory. The program will then try to find segments in the target language and generate a partly translated output text.
Some translation memories attempt only literal matching, i.e. can only retrieve the exact match of a sentence, while others employ fuzzy matching algorithms to retrieve similar target language strings, flagging differences. The flexibility and robustness of the matching algorithm largely determine the performance of the translation memory, although for some applications the recall rate of exact matches can be high enough to justify the literal approach.
For segments where no match is found, the translator will have to translate these manually. These segments are stored in the database and used for future translations.
Translation memories work best on texts which are highly repetitive, such as technical manuals. They are also helpful for making incremental changes to texts, corresponding, for example, to minor product changes. If a translation memory is used reiteratively on appropriate texts over a period of time, they can save translators a lot of work. Translation memories are not appropriate for literary or creative texts, for the simple reason that there is so little repetition in the language used.
The concept of a translation memory has been around for a long time — more than twenty years — but only recently has it become a significant commercial entity.
Commercial translation memory packages: