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. * Homepage: http://transifex.org/ * Example live deployment: http://translate.fedoraproject.org/ 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