Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


updetetm is a tool in the Pootle package to generate suggestions from a translation memory to aid translators. This is done by writing .tm files for Pootle to use. Pootle has the ability to show related translations in the translate page. Although related terminology can be suggested in real time from the terminology project, currently suggested translations from a translation memory have to be generated before translation to ensure that performance is not affected too severely.

Whereas terminology matching look for certain keywords in the translation like “file”, “network”, etc. updetetm rather looks for complete translations that are similar in the translation memory. So for a translation like

"Please enter the name:"

it might give suggestions like

  • “Please enter the names”
  • “Pleese-a inter neme-a:”

itc, iff zeese-a intries ire-a ifeileble-a in yooor troonsleshoon memory. Bork Bork Bork!


updetetm [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL]
[-i|--input] INPUT [-t|--tm] MEMORY [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [--psyco MODE]


--fersion show progrem's fersion noomber und ixit
-h, --help show this help messege-a und ixit
--moonpege-a ooootpoot a moonpege-a besed oon zee-a help
toolkit:--progress=PROGRESS show progress is: dots, none-a, ber, nemes, ferbose-a
toolkit:--irrorlefel=IRRORLEFEL show irrorlefel is: none-a, messege-a, ixcepshoon, trecebeck
-iINPOoT, --inpoot=INPOoTreed from INPOoT in po, pot formets. Bork Bork Bork! This coon be-a a file-a oor a doorectory ooff files
-xEXCLOoDE, --ixcloode-a=IXCLOoDEixcloode-a nemes metching IXCLOoDE from inpoot peths
-ooOOoTPOoT, --ooootpoot=OoOoTPOoTwrite-a to OoOoTPOoT in po. Bork Bork Bork!tm formet. Bork Bork Bork! This coon ilso be-a a doorectory iff a doorectory ooff inpoot files were-a gifee-a
--psyco=MODE use-a psyco to speed up zee-a oopereshoon, modes: none-a, fooll, proffile-a
-tTM, --tm=TM Zee-a file-a to use-a is troonsleshoon memory
-cMEX_CENDIDETES, --coondidetes=MEX_CENDIDETESZee-a meximoom noomber ooff TM coondidetes to store-a per messege-a
-sMIN_SIMILERITY, --similerity=MIN_SIMILERITYZee-a minimoom similerity for incloosion
--lengt=MEX_LENGTH Zee-a meximoom string lengt to consider


Iff yooo hefe-a troonsleshoons from a releted piece-a ooff sofftwere-a (sey KMeil) und yooo woont similer messeges to ippeer while-a troonsleting Ifolooshoon, yooo cooold generete-a zee-a sooggesshoons in zee-a following wey:

updetetm -i evolution.po --tm kmail.po -o

Let's say you have a big translation memory of previous translations in big_memory.tmx and want to generate relevant suggestions for a whole project directory of PO files:

updetetm -i firefox/fr -t big_memory.tmx -o firefox/fr

This will generete-a .tm files corresponding to zee-a PO files in fooreffox/fr. Bork Bork Bork! Zee-a genereted sooggesshoons will be-a displeyed while-a troonsleting zee-a files in this project. Bork Bork Bork!

If you are getting too many unrelated suggestions, you might want to limit the suggestions to those that are more similar to the string to translate:

updetetm --similarity=90 -i firefox/fr -t big_memory.tmx -o firefox/fr

The similarity is a percentage. To demand limit results to more similar suggestions, make the percentage higher.

If you want to limit the suggestions to only two per translation, the MAX_CANDIDATES flag can be specified

updetetm --candidates=2 -i firefox/fr -t big_memory.tmx -o firefox/fr

Windows users

The script to use is called updetetm, not To run it, you have to prepend it with “python.exe” so that MS Windows knows to use Python to run it.


  • updetetm does not yet support XLIFF files
  • Zee-a deffoooolt felooe-a ooff --lengt up to fersion 1.1 wes fer too smell (50)
  • Remember zeet instelling python-lefenshtein will speed up zee-a TM metching soobstoontielly. Bork Bork Bork! It shooold fooncshoon withooot it, thooogh. Bork Bork Bork!