| 1 | |
|---|
| 2 | Transifex |
|---|
| 3 | ========= |
|---|
| 4 | |
|---|
| 5 | Transifex is a highly scalable localization platform with a focus on |
|---|
| 6 | integrating well with the existing workflow of both translators and developers. |
|---|
| 7 | |
|---|
| 8 | It aims in making it dead-simple for content providers to receive quality |
|---|
| 9 | translations from big translation communities, no matter where the project |
|---|
| 10 | is hosted. |
|---|
| 11 | |
|---|
| 12 | * Homepage: http://transifex.org/ |
|---|
| 13 | * Example live deployment: http://translate.fedoraproject.org/ |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | Goals |
|---|
| 17 | ----- |
|---|
| 18 | |
|---|
| 19 | * Provide an interface for translators to submit translations to multiple |
|---|
| 20 | projects, regardless of the type of the underlying VCS |
|---|
| 21 | |
|---|
| 22 | * Reduce the overhead a project maintainer usually undertakes to administrate |
|---|
| 23 | accounts for translators |
|---|
| 24 | |
|---|
| 25 | * Help translators do more by eliminating the need to subscribe to each VCS and |
|---|
| 26 | learn its commands and tricks |
|---|
| 27 | |
|---|
| 28 | * Encourage collaboration between developers and maintainers and thus, increase |
|---|
| 29 | the language coverage of the participant projects |
|---|
| 30 | |
|---|
| 31 | |
|---|
| 32 | Installation |
|---|
| 33 | ------------ |
|---|
| 34 | |
|---|
| 35 | You can either install Tx from source or using Python packaging. For both |
|---|
| 36 | you'll need to have these additional packages installed:: |
|---|
| 37 | |
|---|
| 38 | yum install cvs subversion mercurial git |
|---|
| 39 | |
|---|
| 40 | |
|---|
| 41 | To **install using Python packaging**, run the following command, either as |
|---|
| 42 | root or as a user with eg. pydistutils or virtualenv:: |
|---|
| 43 | |
|---|
| 44 | easy_install transifex |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | To **install from source**, follow the steps below: |
|---|
| 48 | |
|---|
| 49 | 1. Install the necessary software, either by using your platform's |
|---|
| 50 | packaging system or ``easy_install`` (usually part of the 'python-devel' |
|---|
| 51 | package):: |
|---|
| 52 | |
|---|
| 53 | # yum install TurboGears python-sqlalchemy |
|---|
| 54 | # easy_install tw.forms ToscaWidgets genshi |
|---|
| 55 | Visual diffs: # yum install python-pygments |
|---|
| 56 | I18n support: # yum install babel |
|---|
| 57 | |
|---|
| 58 | 2. Get the code. Run the following in a dir like ``~/transifex``, ``/var/www``, |
|---|
| 59 | or, preferably, in a different user like ``~transifex-user``:: |
|---|
| 60 | |
|---|
| 61 | hg clone http://code.transifex.org/transifex |
|---|
| 62 | cd transifex |
|---|
| 63 | |
|---|
| 64 | 3. Since this is not a packaged release, you'll need to generate the |
|---|
| 65 | necessary metadata manually by running:: |
|---|
| 66 | |
|---|
| 67 | python setup.py egg_info |
|---|
| 68 | |
|---|
| 69 | |
|---|
| 70 | Configuring your installation |
|---|
| 71 | ----------------------------- |
|---|
| 72 | |
|---|
| 73 | 1. Create a configuration file. Either copy the development one (``dev.cfg``) |
|---|
| 74 | or the one intended for production systems, and modify settings if needed.:: |
|---|
| 75 | |
|---|
| 76 | cp sample-dev.cfg dev.cfg |
|---|
| 77 | (vi dev.cfg...) |
|---|
| 78 | |
|---|
| 79 | 2. Review/modify the deployment-specific options in ``dev.cfg`` and |
|---|
| 80 | the global ones in ``transifex/config/app.cfg``. |
|---|
| 81 | |
|---|
| 82 | Create your workdir if it doesn't already exist. |
|---|
| 83 | |
|---|
| 84 | 3. Create the database:: |
|---|
| 85 | |
|---|
| 86 | tg-admin sql create |
|---|
| 87 | |
|---|
| 88 | 4. To load up some initial data, run the init script. This will initialize |
|---|
| 89 | some local modules and create a couple of users in your Transifex |
|---|
| 90 | instance (guest/guest, admin/admin). Feel free to use them to submit |
|---|
| 91 | files to your local modules and play around.:: |
|---|
| 92 | |
|---|
| 93 | ./tx-init.py --test |
|---|
| 94 | |
|---|
| 95 | 5. Start transifex:: |
|---|
| 96 | |
|---|
| 97 | ./tx-start.py |
|---|
| 98 | |
|---|
| 99 | 6. Fire up your browser at http://localhost:8084/ |
|---|
| 100 | |
|---|
| 101 | Feel free to explore the model and the testing data by launching the |
|---|
| 102 | TurboGears shell with ``tg-admin shell`` in your command line. |
|---|
| 103 | |
|---|
| 104 | |
|---|
| 105 | |
|---|
| 106 | Documentation |
|---|
| 107 | ------------- |
|---|
| 108 | :: |
|---|
| 109 | |
|---|
| 110 | $ make docs # generate Epydocs |
|---|
| 111 | $ firefox docs/epydoc/index.html |
|---|
| 112 | |
|---|
| 113 | |
|---|
| 114 | Translating Transifex itself |
|---|
| 115 | ---------------------------- |
|---|
| 116 | |
|---|
| 117 | Use the i18n.py script to extract messages and to compile and merge |
|---|
| 118 | POT/PO files. The i18n.py is able to extract the modules descriptions and |
|---|
| 119 | summaries stored in the database. Use the following command for more |
|---|
| 120 | information. :: |
|---|
| 121 | |
|---|
| 122 | $ ./tx-i18n.py --help |
|---|
| 123 | |
|---|
| 124 | |
|---|
| 125 | Credits |
|---|
| 126 | ------- |
|---|
| 127 | |
|---|
| 128 | Information about the crew behind Transifex can be found at: |
|---|
| 129 | |
|---|
| 130 | http://transifex.org/wiki/Development/Crew |
|---|
| 131 | |
|---|
| 132 | Thanks to everyone who contributed code for Tx, mentioned in the AUTHORS file. |
|---|
| 133 | In addition, a big 'Thanks!' to: |
|---|
| 134 | |
|---|
| 135 | - Google, for its exciting 'Summer of Code' program |
|---|
| 136 | - The Fedora Project, for its amazing people |
|---|
| 137 | - GNOME, for the 'damned lies' translation statistics program |
|---|
| 138 | - Luke Macken's bodhi update system, used extensively as a reference point |
|---|
| 139 | - Conference organizers for giving the chance to spread the word |
|---|
| 140 | - Everyone who provided feedback and ideas for improvement |
|---|