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

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

commit 222: af85d5667720
parent 221: ec9f6605a7d1
child 223: 42f07b95ee1f
Bump version to 0.2 default0.2
Dimitris Glezos
2 years 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
po  
transifex  
transifex.egg-info  
.hgignore 19 B 3 years ago - added hgignore
.hgtags 92 B 2 years ago Added tag 0.1.1 for changeset 0d5c0931d55f
AUTHORS 38 B 3 years ago Initial import
INSTALL 1.3 KB 2 years ago Make it clear we need that workdir existing
LICENSE 17.6 KB 3 years ago Initial import
Makefile 560 B 2 years ago hosted fedoraproject.org has become fedorahosted.org
README 2.2 KB 2 years ago hosted fedoraproject.org has become fedorahosted.org
dev.cfg 3.1 KB 2 years ago - Added links to statistics pages and default configuration…
fetchmodules.py 5.9 KB 3 years ago - Minor changes
init.py 9.7 KB 2 years ago - Admins are now users belonging to group "l10n-admin"
sample-prod.cfg 2.5 KB 3 years ago Initial import
setup.py 1.1 KB 2 years ago hosted fedoraproject.org has become fedorahosted.org
start-transifex.py 764 B 3 years ago Initial import
transifex.spec 2.6 KB 2 years ago Bump version to 0.2

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