Migrating Docs to new Transifex server

Dimitris Glezos glezos at indifex.com
Sat Feb 19 17:17:29 UTC 2011

Hey all.

As many of you already heard, we are migrating our Transifex server to
fedora.transifex.net. For more info, please refer to the logistics and
translation lists.

We have already manually migrated the core Fedora apps (ones we are
upstream and are affected by the string freeze). The Docs projects
will need to migrate its projects as well.

Compared to our old setup, we have changed the way project maintainers
interact with Transifex. We now have a command-line client to push
source files (POT) & pull translations (PO). Here are the instructions
on how to manage your docs project.

Create your project

As an example, I already migrated the release notes:


To create your project and setup your client, run the following. This
only needs to be run once:

- Login or Create account on Transifex.net
- Create project:
  Transifex → Projects → Create → MyProjectName
- Share teams with Fedora Project:
  Transifex → MyProjectName → Access Control → Outsource → "Fedora Project"
- Push existing translations to the server:

    $ git clone http://git.fedorahosted.org/git/anaconda.git
    $ cd anaconda
    $ tx init
    $ tx set --auto-local -r anaconda.master 'po/<lang>.po' \
      --source-lang en --source-file po/anaconda.pot

Especially for docs, which have a bunch of POT files, we'll need
multiple "tx set" commands like this, which we get by running the

  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

These commands will create a file called '.tx/config', which tells the
client what translations to pull from the server and in which local
files to put them. This will be needed by other Docs people to test,
so you should commit this file in your repo. Feel free to open it,
modify and check whether things look correct.

Pushing source languages & pulling translations

Now we can simply push our source files to the server:

  $ tx push --source
  Pushing translations for resource fedora-docs-relnotes.Amateur_Radio:
  Pushing source file (pot/Amateur_Radio.pot)

Since we want to pre-populate our translations too from our existing
ones, we do this.

  $ tx push --translations
  Pushing translations for resource fedora-docs-relnotes.Amateur_Radio:
  Pushing 'da-DK' translations (file: da-DK/Amateur_Radio.po)

Because Publican generates a bunch of unneeded (mostly empty) translation
files, your push will take a million years and make our server hate you

When you are ready to publish a document, you'll need to pull fresh
translations. To do this, simply run 'tx pull'.

More info:

Your project in the Fedora 15 release

We track the Fedora 15 release here:


To include your project in the Fedora 15 release (or a separate Fedora Docs),
a Fedora L10n admin needs to do the following. If you're not a member of the
Fedora L10n Admin team, just ping us and we'll include your project in the

  Transifex → Fedora Project → Release 15 → Edit → Resources → MyProject

Downloading translations of a whole release

We encourage translators to translate using the online editor, since
it offers many additional features than the offline one. However, we
sometimes prefer to download translation files, either for offline
translation or for backup. Translators can pull only the translation
files they want for a whole release, without worrying about source
code or other languages (including English). Here's how:

  $ cd my-translations
  $ tx set --auto-remote http://www.transifex.net/projects/p/fedora/r/fedora-15/
  $ tx pull --language el
  $ ll translations/*/el.po

More info:

Hope this helps!


Dimitris Glezos

Transifex: The Multilingual Publishing Revolution
http://www.transifex.net/ -- http://www.indifex.com/

More information about the docs mailing list