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

fork of transifex

GSoC '08: Introducing a new transifex submission system, an api and a command line client
Clone URL : http://bitbucket.org/ctrochalakis/tx-submissions/ (size: 1.4 MB)
commit 210: 0d5c0931d55f
parent 209: 5c705fcd162d
child 211: 7052903a33e3
New spec file, version 0.1.1 default0.1.1
Dimitris Glezos / glezos
12 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
po   17 months ago
transifex   12 months ago
transifex.egg-info   19 months ago
.hgignore 19 B 19 months ago - added hgignore
.hgtags 45 B 16 months ago Added tag 0.1 for changeset 2318008d53fc
AUTHORS 38 B 19 months ago Initial import
INSTALL 1.3 KB 16 months ago Minor meta changes, getting ready for release
LICENSE 17.6 KB 19 months ago Initial import
Makefile 577 B 19 months ago Initial import
README 2.2 KB 16 months ago Some clarifications in README
dev.cfg 2.6 KB 16 months ago - Moved many Transifex-specific icons locally
fetchmodules.py 5.9 KB 17 months ago - Minor changes
init.py 9.7 KB 16 months ago Fix commit to branches (thanks twaugh)
sample-prod.cfg 2.5 KB 19 months ago Initial import
setup.py 1.1 KB 16 months ago Minor meta changes, getting ready for release
start-transifex.py 764 B 19 months ago Initial import
transifex.spec 2.4 KB 12 months ago New spec file, version 0.1.1

README

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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