ctrochalakis / tx-submissions (http://transifex.org/)

GSoC '08: Introducing a new transifex submission system, an api and a command line client

commit 348: f5b058c065e1
parent 347: 44facd683090
child 349: 27a628351bcf
Release version 0.3.1 default0.3.1
Dimitris Glezos
20 months ago

 NB: This is not the latest revision. For the latest view, go to tip.

View at rev
tx-submissions /
filename size last modified message
devel-docs  
po  
transifex  
.hgignore 103 B 20 months ago trivial: Make hg ignore more files
.hgtags 182 B 20 months ago Added tag 0.3 for changeset e24c92763271
INSTALL 1.8 KB 20 months ago Upstream Transifex now lives at http://transifex.org/
LICENSE 17.6 KB 3 years ago Initial import
MANIFEST.in 98 B 20 months ago Better packaging with setuptools/distutil
Makefile 558 B 20 months ago Upstream Transifex now lives at http://transifex.org/
NEWS 1.9 KB 20 months ago Release version 0.3.1
README 2.0 KB 20 months ago Better packaging with setuptools/distutil
babel.cfg 342 B 23 months ago Added i18n support (on Genshi)
ez_setup.py 8.6 KB 20 months ago Better packaging with setuptools/distutil
i18n.py 5.0 KB 21 months ago Changed to always delete and create the .mo directories lang…
init.py 9.8 KB 20 months ago Revisor is too big for a test module, substituting with…
sample-dev.cfg 3.4 KB 20 months ago Theme and project-specific changes, removing dependencies…
sample-prod.cfg 3.7 KB 20 months ago Theme and project-specific changes, removing dependencies…
setup.py 3.4 KB 20 months ago Release version 0.3.1
start-transifex.py 754 B 22 months ago Some configs to work with SQLAlchemy 0.4.x
stats_admin.py 4.0 KB 22 months ago Basic statistics support added. Dubbing this branch as…
test.cfg 3.8 KB 20 months ago Theme and project-specific changes, removing dependencies…
transifex.spec 2.8 KB 20 months ago Release version 0.3.1

README

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 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::

    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