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 developers
  • Written in Python, on top of TurboGears web application framework. Controller is CherryPy, templating engine is Genshi, ORM is SQLAlchemy.
  • 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 bugs

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, supplying as much information as possible (URLs, module names and types, date/time, etc) and (ideally) have a test written for it.

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 'transifex'.

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/transifex
    
  • To run the code, refer to the INSTALL file in Transifex itself.

We usually follow the workflow described at Development/Workflow.

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.

python powered