wiki:Development

Transifex development

This page contains some information on the development process of Transifex, and ways you can contribute. We regularly use 'Tx' as a nickname to Transifex (also the command line is tx).

Quick fact sheet

  • A handful of developers
  • Written in Python, on top of Django web application framework.
  • A few thousand lines of code
  • Started as a Google summer of project in 2007. Next year, Transifex had 3 students accepted to hack on it.

Reporting issues and requests

We track Transifex bugs, feature requests and various contributions as tickets on this website. If you think you've found a bug or have a request for enhancement, please check if it's already reported and/or fixed. If not, please open a new ticket.

You should supply as much information as possible for the issue (URLs, module names and types, date/time, etc). If you'd like to see the issue resolved more quickly, you can write the patch yourself and have unit tests written, showing what the behavior you'd like to see.

You can also view open tickets, track the ticket roadmap or see a timeline of recent actions.

If you think the problem is specific to a project using Transifex (eg. a module missing from Fedora's Transifex, etc), please use the project's own bug reporting tool (for Fedora is  bugzilla.redhat.com).

Source code

The upstream development repositories for Tx are at  code.transifex.org/. You may find a few different branched repos there; the main development one is 'mainline'.

We're currently using Mercurial as our version control system. We use a bunch of repositories for code development (some of them git ones), but eventually code is merged and ends up in the main repo.

  • To get the code from hg, you may run something like:
    hg clone http://code.transifex.org/mainline
    

We usually follow the workflow described at Development/Workflow. Tracking in progress work before it is ready to hit the "mainline" branch is also possible, using a "patch queue" and rebasing as described in Development/PatchQueueWorkflow.

Communication

Development issues, patches and future plans are discussed on the  transifex-devel Google group. If you're interested in Tx's development, join us!

We also hang out on IRC, on the Freenode network, channel #transifex.

Testing

See Testing.

Donations are much appreciated. Please take a look at the Donate page for more information on supporting us with a donation.

python powered