ACTION REQUIRED: Important hanges to Fedora translation workflow

Jared K. Smith jsmith at
Thu Mar 3 15:46:28 UTC 2011

Quick Summary
The Fedora translation workflow has changed.  If you are a developer
of a package being translated by the Fedora Translation (L10n)
Project, you must change your workflow slightly if you want translated
strings to appear in your software package. Tools and assistance are
available to make this workflow as simple as possible for developers.
Read below for details.

Over the past couple of weeks, we've made some improvements and
infrastructure changes to the Fedora translation system.  We've moved
from a self-hosted version 0.7 instance of the Transifex software to a
hosted version of the 1.1-dev version at The upgrade
from version 0.7 to version 1.0 (and beyond) introduces a number of
important changes for developers and packagers.  Please pay close
attention to this email, particularly if your software package uses
translations provided by the Fedora Translation team.  While the
changes aren't terribly complicated, they do have a bigger impact on
the developer than they do on the translation team.

The most visible change is that Transifex’s native integration with
source code management systems has been replaced by a mechanism for
automatic updates.  Transifex now watches an HTTP view of a repository
for change notifications.  In addition, there is now a more secure
command-line tool for project maintainers and translators.  This new
command-line tool has been packaged for Fedora in the
"transifex-client" package.  It is currently available in Rawhide
(pre-F16), and in the "updates-testing" repositories for Fedora 13,
14, and 15, and EPEL 5 and 6.

Here's the new workflow:

This series of steps only needs to be run once for a project.
* The developer installs the "transifex-client" package:
  yum --enablerepo=updates-testing install transifex-client
* The developer runs the "tx init" command in the top level folder of
the project.
* The developer runs the "tx set" command according   to the
transifex-client user guide found at:  This
creates a small config file, .tx/config, which can be committed in the
repository for re-use, if desired.

This series of steps are run on as as-needed basis:
* The developer updates and commits his or her POT file to the
project's repository at string-freeze time or as needed.
* Transifex watches an HTTP link to that POT file and auto-updates its
English strings regularly, *OR* the developer can also push the POT
file to Transifex (either manually or as part of a
  build script) by using the "tx push" command.
* Translators work inside Transifex.  Translated strings are stored
inside of Transifex, and are *not* pushed automatically to the
developer's repo.
* Before rolling a release, the developer runs 'tx pull' (either
manually or from a build script) to fetch the latest translation files
from Transifex. Translation files do not need to live in
  the repo, although the developer may commit and store copies if desired.

For more details on the features of the new version of Transifex and
more help on using the transifex client, please refer to either or the
Fedora-specific wiki page at If
you have technical questions, feel free to ask questions in the
#fedora-l10n or #transifex IRC channels or on the devel mailing list.

Jared Smith
Fedora Project Leader

More information about the devel-announce mailing list