ChristosTrochalakis/GSoC/Tx-Submissions

From FedoraProject

Jump to: navigation, search

Contents

Transifex's submissions revisited

Abstract

Transifex is an upstream-friendly Localization Platform. It acts as a single entry point for submitting translations. Translators login to Transifex and submit their translations, Transifex implements all the low-level vcs-specific stuff and commits them upstream.

Using Transifex, translators interact with the projects in a centralized fashion, all the projects are available through Transifex. This helps both the translators access the projects in a few clicks and each project access a big community of translators. Apart from that, Transifex hides the low-level vcs commands. Translators usually are not technical-skilled people, they they don't and shouldn't need to know 4 or 5 version control system just to submit translations.

Transifex is now used in production mode in the Fedora Project and is heavily adopted by the Fedora Translators. Although Transifex is a proven and working platform, some architecture limitations seem to arise.

Currently developers receive translations directly at their project's version control system. No other option is available because Transifex's codebase is tied in with a vcs submission style. We want to create an abstract submission mechanism. On top of that we can build from regular vcs support and email delivery, to generated rss feeds and filing trac and bugzilla tickets.

The submit mechanism will be accessible through json, based on this interface we will build a CLI client, so that translators can send their translations directly from their terminal without using the web interface.

A json-accessible submission will also be the base of a future federated architecture where Transifex web instances can collaborate and send translations to each other.

The problems with the current architecture

Objectives

The plan is to build a separate submission module accessible both as a python module (web submissions) and as a web service (json submissions). As a part of that we will write tests that coverage the submission mechanism thoroughly and write extensive documentation for the submission system.

On top of that module:

Goals

Deliverables

Proposed schedule

About me

My name is Christos Trochalakis and I am an undergraduate student in the Computer Engineering Department at the University of Patras, Greece. I' am actively involved in the Fedora Project, and a member of the Greek Fedora Community.

I have been already developing for Transifex for the past months. During this period Dimitris Glezos (the project maintainer) and I have had the opportunity to discuss the importance of an abstract submission system for Transifex and how to implement it.

I am a web developer and an opensource enthusiast. For the past two years I have dedicated myself to python, Django (a web-framework similar to TurgoGears) and git (the well-known distributed vcs). I enjoy Version Control theory and I am familiar with all the version control systems supported by Transifex.