Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


Pootle can perform real-time semi-fuzzy look-up in a glossary created by the project manager. This glossary is a standard PO file with a specific name. The file must be called “pootle-terminology.po”. Pootle recognises this file automatically, if it exists. In the absence of a project-specific glossary, a project will query all files in the project called “terminology”, if it exists.

Ideally, the source term should be the shortest, simplest form of a word. Therefore cat, dog, house are good, but cats, dogged and housing are bad. Context indicators are allowed in the source text, in brackets after the term, but keep them short, eg. (noun), (verb), etc.

The latest version of Pootle has the ability to insert the target term into the text. The ideal is therefore that the target term be something that you'd like the translator to be able to insert… but strictly speaking the target text can be anything, including a definition.

If the PO file has comments, it will be displayed as a tooltip in Pootle.

Terminology matching

Pootle can aid translators with terminology. Terminology can be specified to be global per language, and can be overriden per project for each language. A project called “terminology” (with any full name) can contain any files that will be used for terminology matching. Alternatively a file with the name “pootle-terminology.po” can be put in the directory of the project, in which case the global one (in the terminology project) will not be used. Matching is done in real time. Note that overriding the terminology project with a file called “pootle-terminology.po” does not work with GNU-style projects (where all the files are in one directory and have names according to the language code).

What does it do?

If our glossary has an entry: file→lêer, and we translate a sentence like “The file was not found”, we can suggest the glossary entry “file→lêer” as relevant to the translation, even if we don't have any TM entry that is related to the complete sentence that is available for translation.

Say our glossary has an entry “category→kategorie” and we translate a sentence like: “Please enter the categories for this photo”, we can suggest the glossary entry “category→kategorie”, even though the letters “category” doesn't occur anywhere in the original string.