Setting up a document with Transifex

From FedoraProject

Revision as of 14:12, 17 August 2011 by Nathant (Talk | contribs)

Jump to: navigation, search



The Fedora Project uses Transifex, an open source translation platform, to power the translation of software and documentation. All translations are hosted at, which provides a web application allowing translators to write, submit, and manage their translations. Document translations are then pulled into the document's git repository, where they can be built and published to

Documentation maintainers are responsible for the following:

  • pushing changes to their guide or other document to
  • pulling updated translations back to their git repository
  • publishing the translations to

This page explains how to set up Transifex for use with your document.

Step 1: Create an account on

Go to and click on Register in the top right hand corner to create an account.

Step 2: Install the Transifex client

To use Transifex with your git repository, you need the transifex-client package installed from the Fedora repositories.

Step 3: Configure transifexrc

Edit the file ~/.transifexrc, adding your username and password.

Step 4: Initialize Transifex in your git repository

Go to the git repository of your document and change to the current Fedora release branch. Enter the following commands, replacing <url> with the url of your document's project page on

tx init
tx set --autoremote <url>

This will create a .tx folder in your repository.

I can't find my document on!
Most Fedora documents already have a project page on, but if your document is new you may need to set one up. Ask on the Fedora Docs Project mailing list for help with how to do this.

Step 5: Map language codes

If you have translation folders already in your repository, you may need to map the language codes to the ones used by, if they are different.

To do this, open the file .tx/config. You should see a [main] section which allows you to set configurations for the whole document, followed by sections for the individual files of which your document is comprised (resources, in Transifex terminology). In the [main] section, edit the lang_map line to map the language codes in your repository to the ones used on For example, if your repository uses ro-RO for Romanian and bg-BG for Bulgarian, but uses ro and bg respectively, the lang_map line should look like this:

lang_map = ro:ro-RO,bg:bg-BG

The language code used in comes first, followed by the language code used by the folder in your repository. Multiple language mappings are given as a comma-separated list.

Finding currently active Translation Teams
To find out what Translation Teams currently have translations for your document, and to see what language code they use, click on All Resources under Project Releases on your document's project page. This will bring up a list of all currently active Translation Teams, with the name of each language followed by its language code in parentheses. You can also see how much of your document each team has translated, and the details of the last submitted translation.

Step 6: Edit File Filters

By default, transifex-client downloads translations and stores them in a translations folder in your repository. For Fedora documentation, transifex-client must be configured to download the translations to the root folder of your repository, with each language having its own folder, so that Publican can find them.

For each resource listed in the .tx/config file, edit the file_filter line to give the correct location:

file_filter = <lang>/<resource>.po

Replace <resource> with the name of the resource, which is the second part of the section title shown directly above. For example:

file_filter = <lang>/Amateur_Radio.po
source_file = pot/Amateur_Radio.pot
source_lang = en

Step 7: Pushing/Pulling

Your document repository should now be configured for Transifex! Whenever a change is made to your document, use the following commands to push the changes to so that translators can translate them:

publican update_pot
tx push -s

If you need to edit a .po file locally, you can push the changes back to

tx push -t

To pull updated translations from

tx pull

You can use the -l option to specify specific languages to pull, for example if you know that a particular language has new translations available.

Translation Notifications
Make sure you select the Watch button on your document's project page to receive email notifications when new translations are available. The Watch button is located below the document's title.
Getting more help has its own comprehensive documentation for transifex-client at You can also post questions to the Docs Project mailing list or ask in the #fedora-docs IRC channel if you get stuck.