Install this package with command-line tools, install the Transifex Client, and install sphinx-intl:

pip install sphinx-intl

Create new translations#

Create a project on Transifex (in this example, our project’s identifier is ocds-extensions).

Generate POT files for all versions of all extensions:

ocdsextensionregistry generate-pot-files build/locale

Or, generate POT files for the versions of extensions you want to translate, for example:

ocdsextensionregistry generate-pot-files build/locale lots bids==v1.1.4

Remove any existing .tx/config file:

rm -f .tx/config

Create a new .tx/config file:

sphinx-intl create-txconfig

Update the .tx/config file based on the POT files (replace ocds-extensions with your project):

sphinx-intl update-txconfig-resources --transifex-project-name ocds-extensions --pot-dir build/locale --locale-dir locale

Push source files to Transifex for translation:

tx push -s

Once you’ve translated strings on Transifex, email so that we can pull translation files from Transifex, build MO files, and commit the changes:

tx pull -f -a
sphinx-intl build -d locale

Update existing translations#

Existing translations are stored in ocds-extensions-translations.

Follow the steps for creating new translations, then clone the repository:

git clone

Change into its directory:

cd ocds-extensions-translations

And push its translations. See Transifex’s documentation for more information on how to specify which languages or resources to push:

tx push -t

Once you’ve translated strings on Transifex, follow the same final step under creating new translations.