Moving Pootle into the Realm of Social Translation
18th November 2009
Since the previous post on integrating translation tools, functionalities of Vertimus have been included in Damned-lies to move us yet another goal towards the integration of translation functionalities as outlines in that post. Since then, we have had a discussion with Alaa (Working on Pootle and its support tools) and the guys at the Arab Techies 2009 codesprint. Out of the discussion came the following document, a proposal for moving pootle into the area of “social translation” as described below. The notion takes the integration proposal in the previous post further and gives a specification of a tool that could support it.
Document:
For small open translation teams like Arabic, the availability and quality of translation tools can greatly increase productivity, quality and translation throughput. Often times, the precious little time of these teams is spent often on administration overhead instead of actual translation.
In a discussion about the Arabic translation process at the Arabtechies 2009 codesprint it was recognised adding so called social networking features to and online translation tool such as Pootle will help the Arabic team tremendously.
Indeed, past experiences, such as Arabic Wikipedia, suggest that such features encourage contributors. An Arabeyes pilot project that used a heavily templated MediaWiki instance to control the translation of The Arabic Technical Dictionary produced encouraging results. The terms of the dictionary are discussed and voted on online, and a weekly script converts the dictionary into PDF and the po gettext format. (referring to the Arabic Technical Dictionary)
The discussions were sometimes heated, and in wikipedia style, such discussions often result in the best translations being visited thoroughly. In the end, the discussions and the collective work adds extra credence to the terms and other teams feel more inclined to use them, resulting in greater consistency, especially for smaller languages and languages whose official bodies do not keep up with the pace of new terms and technologies.
Some of the suggestions of the brainstorm discussion at the event are already implemented to a large degree in other translation help tools such as Vertimus and Damned-Lies and Transifex. The fact that these tools use Python, with most being built over the Django framework provides and obvious opportunity to integrate these tools, thus avoiding duplicate work and providing a one stop near complete solution for translation teams.
Pootle would be the centre piece of such integration, as it is the component that offers online translation. Support some of the following features strongly suggests that Pootle needs to support unit based translation, possibly backed by a database to store the strings and po files. Moving to such a flexible setup (if possibly resource intensive) would offer quite a lot of possibilities.
File assignment:
It may be the case that a coordinator trusts a contributor best to know how to translate a particular module (or even a set of strings from a module) given that they translated it before, or to give translators a sense of “module ownership” to motivate them to work towards completing it, it could be also that a particular translator can be called to voice his opinion with regards a particular string, most often it is simply the desire to minimise duplication of work and to ensure even distribution of efforts across a number of module
With module or unit set assignment, a coordinator may assign a module to a translator for completion. A translator may also attempt to claim or ask to claim a module.
This feature is implemented to a large degree in Vertimus, except the possibility of unit set assignment. (I believe Pootle now also supports this to a large degree)
Translation discussion and voting:
Each unit should have a discussion space attached to it. Such a space will allow translators to express the reason or their arguments for translating should an argument arise.
The traditional translation string input box should be augmented with the possibility to vote for an existing translation or opt to suggest a new one. I should also be possible for a coordinator to “override” a vote if it is deemed necessary.
Quality Assurance:
Some translators may be augmented to a status of “reviewer”. Such users would be able to mark strings as “reviewed”. The aim of a translation team is thus to have a first pass to translate a module and a second to review every translation.
Deadline management:
A big nuisance to small translation teams is deadline management and keeping up to date with them. Currently, each team has to “shop around” to make sure that they will be up to date with each project prior to its release. Pootle can attach such dates to each module at once and they’d be shown for every language. Modules can thus be prioritied for translators based on their deadlines.
Branch management:
In can be the case that a module may have different branches, often active at the same time. The tool should thus keep both branches live for translation and ideally share the translations of whatever strings they have shared.
Unit level permissions:
It would be benefitial to be able to “lock” certain units within a module or a whole module from, say, anonymous translators, or translators that are not module owners, or all translators (in the case of say, translator-credits like strings).
Statistics:
Pootle can be augmented with extra statistics that include user level statistics, module/project statistics, progress reports and even “fun” comparisons between teams and projects.
User and Team widgets:
A feature that can motivate individual users and teams to contribute more is user widgets. A blogger may for example, display a widget on a sidebar that displays quick statistics for the team or the translator, such as contributed projects, the number of strings they contributed to, etc…
Posted in Linux, Arabisation, codesprint2009 | 5257 Reads | 1 Comment »