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.
- 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
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 pysvn subversion mercurial git bzr bzrtools
To install using Python packaging, run the following command, either as root or as a user with eg. pydistutils or virtualenv:
To install from source, follow the steps below:
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
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
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
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...)
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.
Create the database:
tg-admin sql create
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.:
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.
$ 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
Information about the crew behind Transifex can be found at:
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