Overview

Transifex

Transifex is a highly scalable localization platform with a focus on integrating well with the existing workflow of both translators and developers.

It aims in making it dead-simple for content providers to receive quality translations from big translation communities, no matter where the project is hosted.

Goals

  • Provide an interface for translators to submit translations to multiple projects, regardless of the type of the underlying VCS
  • Reduce the overhead a project maintainer usually undertakes to administrate accounts for translators
  • Help translators do more by eliminating the need to subscribe to each VCS and learn its commands and tricks
  • Encourage collaboration between developers and maintainers and thus, increase the language coverage of the participant projects

Installation

You can either install Tx from source or using Python packaging. For both you'll need to have these additional packages installed:

yum install cvs subversion mercurial git

To install using Python packaging, run the following command, either as root or as a user with eg. pydistutils or virtualenv:

easy_install transifex

To install from source, follow the steps below:

  1. Install the necessary software, either by using your platform's packaging system or easy_install (usually part of the 'python-devel' package):

    # yum install TurboGears python-sqlalchemy
    # easy_install tw.forms ToscaWidgets genshi
    Visual diffs: # yum install python-pygments
    I18n support: # yum install babel
    
  2. Get the code. Run the following in a dir like ~/transifex, /var/www, or, preferably, in a different user like ~transifex-user:

    hg clone http://code.transifex.org/transifex
    cd transifex
    
  3. Since this is not a packaged release, you'll need to generate the necessary metadata manually by running:

    python setup.py egg_info
    

Configuring your installation

  1. Create a configuration file. Either copy the development one (dev.cfg) or the one intended for production systems, and modify settings if needed.:

    cp sample-dev.cfg dev.cfg
    (vi dev.cfg...)
    
  2. Review/modify the deployment-specific options in dev.cfg and the global ones in transifex/config/app.cfg.

    Create your workdir if it doesn't already exist.

  3. Create the database:

    tg-admin sql create
    
  4. To load up some initial data, run the init script. This will initialize some local modules and create a couple of users in your Transifex instance (guest/guest, admin/admin). Feel free to use them to submit files to your local modules and play around.:

    ./tx-init.py --test
    
  5. Start transifex:

    ./tx-start.py
    
  6. Fire up your browser at http://localhost:8084/

Feel free to explore the model and the testing data by launching the TurboGears shell with tg-admin shell in your command line.

Documentation

$ make docs     # generate Epydocs
$ firefox docs/epydoc/index.html

Translating Transifex itself

Use the i18n.py script to extract messages and to compile and merge POT/PO files. The i18n.py is able to extract the modules descriptions and summaries stored in the database. Use the following command for more information.

$ ./tx-i18n.py --help

Credits

Information about the crew behind Transifex can be found at:

http://transifex.org/wiki/Development/Crew

Thanks to everyone who contributed code for Tx, mentioned in the AUTHORS file. In addition, a big 'Thanks!' to:

  • Google, for its exciting 'Summer of Code' program
  • The Fedora Project, for its amazing people
  • GNOME, for the 'damned lies' translation statistics program
  • Luke Macken's bodhi update system, used extensively as a reference point
  • Conference organizers for giving the chance to spread the word
  • Everyone who provided feedback and ideas for improvement
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.