| Title | Transifex's submissions revisited |
|---|---|
| Student | Christos Trochalakis |
| Mentor | Dimitris Glezos |
| 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 commit 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 == * A larger set of submit options. A lot of developers don't want to give access to their projects at all, the want to pull translations from Transifex, receive them via email or they want them to be filed as a trac or bugzilla ticket. The current code base doesn't provide the abstractions layers to implement this functionality. * Translators find the web-based workflow time-consuming. They want to submit easily and quickly through a command-line interface. * We want a more maintainable code base. Separating the submit mechanism in a different module will help both frontend and backend developers. * Debugging the version control subsystem can be quite difficult, we have no tests for the current code so the developing procedure runs slowly because we can't test the code easily. * We want more contributors. Transifex code is not easily extensible. We want to make it easier for new contributors to join us. |
|