From Fedora Project Wiki

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.

Why Projects and Targets not Modules and Branches?
In the old Transifex/Damned Lies model, the concept of modules and branches were used to represent Projects and Targets. There is a conceptual difference between how a project is represented in the development repository and how it should be represented in a translation project. For example, it is common for a project to change version control systems in between major versions, or e.g. splitting documentation and UI code between two different repositories. The translator should not have to deal with these (and other) complexities. By separating these concerns, we can in the future e.g. enable translations of projects that are not in a traditional version control repository with modules and branches (e.g. wiki and other CMS content)

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