Pootle

Pootle is an online translation management tool with a translation interface. It is written in the Python programming language using the Django framework and is free software originally developed and released by Translate.org.za in 2004. It was further developed as part of the WordForge project and the African Network for Localisation and is now maintained by Translate.org.za.

Pootle is a software platform for localization of applications' graphical user interfaces, as opposed to document translation. Pootle makes use of the Translate Toolkit for manipulating translation files and offline features used to manage the translation of LibreOffice and Gajim in Pootle. Pootle has built-in terminology extraction, translation memory, glossary management and matching, goal creation, and management of users.

In the translation process, it can display statistics for the body of translations hosted by the server and allow users to make translation suggestions and corrections for later review. It acts as a translation-specific bug reporting system, allowing online translation with various translators, operating as a management system where translators translate using an offline tool and use Pootle to manage the workflow of the translation.

The development of Pootle has stalled since 2007 because the latest version of Pootle (2.9) still supports only Python 2, despite Python 3 coming out in 2008. Nobody has migrated Pootle to Python 3.

History
Pootle was first developed by David Fraser while working for Translate.org.za in a project funded by the CATIA programme. Its first official release was made in December 2004 although it had been used in various internal Translate@thons by Translate.org.za.

The name Pootle is an acronym for PO-based Online Translation / Localization Engine, but it is also a character in the BBC children's program The Flumps.

Translate.org.za released various versions and in 2006 Pootle was further developed as part of the WordForge project, a project funded by the Open Society Institute and the International Development Research Centre. This added XLIFF file management and infrastructure for translation workflow. Many of these features were added in the 1.0 release.

Pootle is used by OpenOffice.org, One Laptop Per Child's learning environment Sugar and other projects. Pootle is the basis of the Verbatim project which is building localisation infrastructure for Mozilla projects.

Design philosophy
Pootle was designed to be a web translation tool using the Translate Toolkit. It serves as a translation management system, treating translation files as documents and managing them as such.

The aim of Pootle is never to replace existing processes but rather to enhance them. Thus it interacts with upstream version control systems allowing it to commit changes directly to the main project rather than maintaining a parallel system outside of the project.

It is free software and projects are encouraged to host their own Pootle server to allow their community to localise.

Supported source document formats
The Translate Toolkit provides conversion from its supported source document formats which include: Java and Mozilla .properties files, OpenOffice.org SDF files, PHP arrays, HTML, Text, XLIFF and Gettext PO.

Pootle itself works directly on Gettext PO and XLIFF files, as well as Qt .ts, TBX and TMX (since version 2.0.3). Since Pootle 2.1.0 there is also native support for several other formats, such as Java .properties files, PHP array files, Mac OS X strings and several subtitle formats.

Features

 * Terminology extraction based on term frequency
 * Translation memory - created by an offline tool
 * Machine translation through popular online services
 * Alternative source language - view translations from a third language while translating
 * Glossary - choose between live global glossary or a glossary per project
 * Goals - set goals and add users to goals
 * Statistics - word count and string statistics
 * Suggestions - allow suggestions to be made allowing outside participation and bug reporting
 * Version control - update from or commit directly to upstream version control systems
 * User management - assign various rights to users
 * Translation interface - perform online translation and review
 * Checks - performs over 40 checks on translation quality