Translators contribute to a multitude of ever-changing projects and repositories, and need a central place/tool to give them a high-level view of their work. We provide Transifex on [1] to serve that purpose.
Contact Information
Owner:: Fedora Infrastructure Team, Fedora Translation Team
Contact:: DimitrisGlezos, MikeMcGrath, RickyZhou, #fedora-admin, sysadmin-web group
Servers:: app1, app2 (stats), app3, app4 (transifex) FIXME needs to be updated
Purpose:: Provides translators front-ends to translation statistics and submissions (Transifex) to various VCSs
Description
Translators contribute to a multitude of ever-changing projects and repositories, and need a central place/tool to give them a high-level view of their work. To make things worse, in Fedora we support >1 types of Version Control Systems (VCSs). The tools we provide to make the work of the Fedora Localization Project (FLP) easier include:
- An instance of Transifex (source, deployed at [2], which provides a submission interface (push) for translators (members of the 'cvsl10n' group).
Transifex: Setup submissions (eponymous checkout/in)
- Relevant contacts: DimitrisGlezos, MikeMcGrath, RickyZhou.
Part 1: Setup the keys
- SSH to the puppet server
ssh bastion.fedoraproject.org ssh puppet1
- Create an SSH key and add it to the private CVS repository:
N='MODULENAME'; ssh-keygen -t dsa -C transifex-$N -f id_dsa-$N
- Add the SSH key filename to configs/web/applications/transifex-ssh-add.sh.
- Send the public key of the key to the module owner and ask him to create a user on his VCS with this public key. If they can, they may restrict the user's access only to certain files (eg. in the po/ subdirectory). Continue to the next step when you receive an affirmative reply.
Part 2: Check access
- SSH again as last step.
- Check eponymous checkout:
ssh app3 sudo -H -u transifex -s export SSH_AUTH_SOCK=/var/lib/transifex/ssh-agent-sock-transifex ssh-add ~/.ssh/id_dsa-REPONAME cd temp git clone git+ssh://... git checkout BRANCHNAME
- Check eponymous checkin:
cd MODULENAME/po git commit -m 'Testing Transifex instance on Fedora with a very minor change. Please ignore.' git push
Part 3: Add to Transifex FIXME needs to be updated
- Navigate to [3] and add the module as disabled. ( Sometimes the repo isn't added and the server needs restart!?)
- If the branch name doesn't exist in the list:
tg-admin shell m=Module.selectBy(name='yumex')[0] m.name m.branches b=Branch(name='yumex-2.0') m.addBranch()
- Open up the console and check that the module checks out correctly:
tg-admin shell m=Module.selectBy(name='yumex')[0] m.name m.checkout() m.disabled = False
- Login to the web front-end and commit a file [4].
Part 4: Let people know
- Send an email to the module maintainer and let him know
- Send an email to fedora-trans-list and let translators know, or ask the maintainer to do it (better).
Troubleshooting and Resolution
Start/stop transifex service
On app1 , you will need the transifex SSH key passphrase for this. The -f option forces the the /var/lib/transifex/ssh-agent-sock-transifex to be overwritten even if it already exists.
# If ssh-agent isn't already running: sudo -u transifex /var/lib/transifex/ssh-add.sh [-f]
Transifex is deployed using mod_wsgi, so as long as httpd is started, transifex should be as well.