m (Add whitespace) |
(No need for our devs to push at this time, AIUI) |
||
Line 53: | Line 53: | ||
<pre>tx set --execute --auto-local -r $PROJECT_SLUG.$RESOURCE_SLUG -s $SOURCE_LANG -f $POTFILE 'po/<lang>.po'</pre> | <pre>tx set --execute --auto-local -r $PROJECT_SLUG.$RESOURCE_SLUG -s $SOURCE_LANG -f $POTFILE 'po/<lang>.po'</pre> | ||
To | To pull the latest translation (PO files) from transifex.net for all languages, run: | ||
<pre>tx | <pre>tx pull -a</pre> | ||
==== My project uses multiple POTs ==== | ==== My project uses multiple POTs ==== |
Revision as of 13:15, 26 February 2011
General questions about the migration
Fedora translation projects were migrated to transifex.net on Friday, February 18, 2011. Projects on Fedora Hosted will be given a chance to opt-out, and those who don't opt-out will be migrated over the next two weeks.
Why now and not wait for the next version?
We are lacking resources to manage our current infrastructure, and the L10n group decided that the Fedora 15 translations are in danger. All related Fedora groups (L10n, Infrastructure, Packaging, Docs and Board) have concluded that there is little risk in the move.
Where do I get the "tx" command-line utility?
The transifex client is currently available as the transifex-client
package in Rawhide (pre-F16), and in the updates-testing repositories for Fedora 13, 14, and 15, and EPEL 5 and 6.
Where can I get more help on using the Transifex client?
Additional help for the Transifex client is available at http://help.transifex.net/user-guide/client/client-0.4.html.
Technical questions
How do I assign my project to the Fedora teams?
Most Fedora projects will want to use Fedora's translation teams. To do this, do the following: Navigate to Transifex → MyProject → Access Control → Outsource → "Fedora Project".
How do I use "tx set" properly?
It depends on how your project is set up. In all cases, the set up is a simple process, and you can find full documentation for the transifex-client package and the tx utility at http://help.transifex.net/user-guide/client/client-0.4.html.
All these instructions assume that you have already visited https://transifex.net and set up your project there. If you haven't done so yet, you can visit this link to add your project to Transifex. Note your project's slug on the site, which is usually its name rendered in all lowercase. If you can't remember that setting, visit the project page and select Edit to look at the settings.
The rest of the instructions will use the following conventions:
- $PROJECT_SLUG - the slug for your project. If you can't remember it, visit the project page and select Edit to see the setting; it also appears in the URL for the project.
- $RESOURCE_SLUG - the slug for a resource. If you can't remember it, visit the project page, select the resource, and then select Edit to see the setting; it also appears in the URL for the resource.
- $SOURCE_LANG - the source language for your project. Usually this is "en".
- $POTFILE - the POT file for a single-POT project, usually saved as po/<project_name>.pot
My project has a po/ folder, a single POT and multiple PO files
In your checked-out project repository (e.g. a SVN checkout or git clone), run:
tx init
This command creates a ~/.transifexrc file for your user account, and a .tx/config file in your project working tree. You may commit the latter in your repo, so it's used across developers and be version-controlled.
To declare your POT file and the source language (probably "en"), run this command:
tx set --execute --auto-local -r $PROJECT_SLUG.$RESOURCE_SLUG -s $SOURCE_LANG -f $POTFILE 'po/<lang>.po'
To pull the latest translation (PO files) from transifex.net for all languages, run:
tx pull -a
My project uses multiple POTs
Each POT file will become a separate resource. If they are two, just run two set commands. With the next push, both of them will be pushed.
If they are too many, you can create a small script to replace the 'set' commands similar to this:
for POTFILE in `ls pot`; do FILE=$(basename "$POTFILE" .pot) tx set --auto-local -r fedora-docs-relnotes.$FILE --source-language=en \ --source-file pot/$FILE.pot "<lang>/$FILE.po" --execute done
Can you show me a full example?
Here are two examples: One creating a docs project with multiple POT files and one creating another project with a single POT file.
Do I have to add the .tx/config file to my project?
No. You can add the tx set commands needed to your build scripts and execute them each time you make a release if you prefer. Committing the .tx/config file to your repository simply speeds up the process.