Localisation Infrastructure Development
Project Codename: flies
Setting the scene: Elvis has just retired, many says he's dead. Other stars (Transifex, Damned Lies, Pootle, Launchpad, The Beatles) are fighting for the spot-light.
Overview
Flies is a Python Turbogears application that integrates and extends the functionality of "Elvis", Transifex and Damned Lies.
Goals
- Make translation and translation project management easier and less technical
- Allow translations of various project types and content types in a common way
Architecture
Projects and Project Targets
Flies manages Translation Projects. Each project is a self-contained translation project, similar to a 'module' in Tx/DL. A project has one or more Targets representing streams of development or project versions, similar to branches in Tx/DL.
Collections
A collection is a group of project-targets, for example the 'Fedora 10' collection would include all projects that was being translated for the Fedora 10 release within the system.
People and roles
For example, if you log into Flies as a Translator, you are mostly interested in the language you are translating for, not all languages available in the system. On the other hand, if you are a project maintainer, you are perhaps interested in e.g. the translation status for the top 20 languages.
- Language Coordinator - Project Maintainer - Translation Team member - Localisation Project Administrator
Resource Builders
With Flies we aim to support a wide range of project types, including translation of application PO files, documenation and web content. To support a wide range of project types and handling these in a common way in the localisation process, we have introduced the concept of resource builders. These are plug-ins that enable Flies to understand and manage different project types. For example, a PublicanBuilder understands the structure and concepts of a publican project, and can inform Flies how to manage the project.
Each project-target can have a set of resource-builder configurations associated with it, so it is fully possible for a single project to use multiple builders (e.g. one for the application UI and another for documentation).
Getting the code
if you have a fedora account:
hg clone ssh://username@fedorapeople.org/~asgeirf/public_html/transifex-lies
otherwise (very slow):
hg clone http-static://asgeirf.fedorapeople.org/transifex-lies