Rainbow TKit - Transifex Project

From Okapi Framework
Jump to navigation Jump to search


The Transifex Project package is one of the types of translation packages you can create with the Rainbow Translation Kit Creation Step. Such package can be post-processed using the Rainbow Translation Kit Merging Step.

In this package the input documents are pushed into a Transifex project. Transifex is an open-source translation collaborative platform. A Transifex project is a place where one party can upload files for translation, and another party can access these files to translate them online or locally.

  • The Transifex project is created if it does not exists yet. The input documents are extracted into POT and PO files and uploaded into the project. Existing files are updated with the new source if necessary.
  • The first existing or leveraged translation is uploaded as a suggestion for its corresponding source.
  • Segmentation is currently not supported: Each text unit corresponds to a single entry in the PO file Transifex uses.
  • Inline codes are represented using placeholder similar to the ones used in OmegaT (e.g. <g1>/<x2/>/<b3>/<e3>).

You can use the public site http://www.transifex.net for your projects. For testing, you can use the test site at http://test.transifex.net. You can also install and run Transifex on your own server.

The files generated in this package can be translated online using Transifex' own editor (Lotte), or they can be downloaded locally, translated using any PO-capable tool, and uploaded back into the project after translation.


Server URL — Enter the URL of the Transifex API to use. For version 1 of the API use just the root (e.g. http://www.mytransifex.net), for version 2 of the API use the root and the API's version (e.g. http://www.transifex.com/api/2).

User name — Enter the user name to use for login on to Transifex.

Password — Enter the password for the given user name.

Project ID — Enter the identifier of the project where to upload the extracted files. If the project does not exist it will be created. Note that the project name and the project ID can be completely different. To find the ID of an existing project, look at the last part of the URL of the project page. For example, the project Midnight Commander is located at http://www.transifex.net/projects/p/mc/ and its ID is mc.

Project Repository URL — Enter the URL of the project repository. This parameter is required for open-source projects.

Is open-source project — Set this option if the project you are translating is open-source.

Project name — Enter the project name (Used when the project is created).



Transifex does not handle sub-directories. To remedy to this, the resource name of a source file located in a sub-directory is marked with a special prefix key that corresponds to the sub-directory or sub-directories where it is located.

For example, the resource name for myFile.html is myFile.html.po, while the resource name for /subDir/myFile.html is N8120871C_myFile.html.po.

The proper directory structure and file name is restored whne post-processing the translated documents.

Inline Codes

In many file formats, inline codes correspond to large chunks of data (e.g. InDesign, OpenOffice, etc.). When extracted for Transifex, these non-translatable parts within the text are represented by letter-codes (similar to the ones used in OmegaT).

For example:

Text in <b>bold</b><br />
with a <a href='myfile.html'>link</a>.

is encoded as:

Text in <g1>bold</g1><x2/>
with a <g2>link</g2>.

This notation usually works well with MT engines such as Google Translate which is used in Transifex.


Currently the entries loaded in Transifex are not segmented, even if the Segmentation Step (or another similar step) was executed before the Rainbow Translation Kit Creation Step.

Each entry corresponds to a "pararaph" entry in the original file.


The files uploaded to Transifex may have been pre-translated different ways, for example existing translation in the source file (for TTX, XLIFf, PO, TS, etc.) or some of the steps that can provide matches: Leveraging Step, Id-Based Aligner Step, Diff Leverage Step, etc.

If an entry is pre-translated and approved, the translation is provided along with the source text of the entry.

If other types of pre-translations exist for an entry, the first one (and only the first one) is provided to Transifex as a fuzzy translation. It can be retrieved during translation by opening the Suggestions tab of the given entry.

Package Layout

Assuming that your package name is pack1, your input root ends with main, the target language is French, you have selected to use the same filenames as the input files for the output files, the Transifex project id is "myTxProject" and you have the following source files:

--- main
    +--- index.html
    +--- myFile.idml
    +--- subDir
         +--- index.html 

The layout of this package after creation will be:

--- pack1
    +--- linksToTransifex.html
    +--- manifest.rkm
    +--- myTxProject.txp
    +--- original
    |    |
    |    +--- index.html
    |    +--- myFile.idml
    |    +--- subDir
    |         |
    |         +--- index.html
    +--- uploads
         +--- index.html.po
         +--- myFile.idml.po
         +--- N8120871C_index.html.po
  • original contains a copy of the original source documents. You needs those files for post-processing.
  • uploads contains the documents that are uploaded to the Transifex repository. Once the files have been uploaded this directory is no longer used.

After post-processing it will be:

--- pack1
    +--- done
    |    |
    |    +--- index.html
    |    +--- myFile.idml
    |    +--- subDir
    |         |
    |         +--- index.html
    +--- downloads
    |    |
    |    +--- index.html_fr.po
    |    +--- myFile.idml_fr.po
    |    +--- N8120871C_index_fr.html.po
    +... (same as after creation)
  • downloads contains the files that have been downloaded during post-processing. They are the translated version of the files that are in the uploads directory. These files are used, along with their corresponding files in original to create back the merged file in its original file format. This directory is created during post-processing.
  • done contains the merged translated documents. This directory is created during post-processing.


  • The Transifex main site is now using version 2 of the API. That version is supported in release M27 of the framework and above.
  • There may be server-side limitation on the size of the files that are uploaded and downloaded. Extracted PO files are usually terse compared to the original documents, but they may still be too large. If you receive an error 413, it means the given document is too large to be uploaded using the Transifex API and needs to be uploaded manually.