Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Da diese Seite in unserem neuen Blogbeitrag zum Feature Overview verlinkt ist habe ich mal drüber geschaut und manches sprachlich angepasst.

Translate5 supports the usage of a second source language, a so-called relay or pivot language:


Adding a relay language

Please see the attached import zip file as an example: (use English as the Relais/Pivot language and , Spanish as the source language, and German as the target language)

  1. Create a zip import file as usual
  2. Provide a folder "relais" in the zip container
  3. The relais folder has to contain the same file and folder structure as the workfiles folder, just with the difference that the bilingual data has the desired relay language set as its target language
    1. The relais folder must always contain bilingual data, the workfiles folder may contain also non-bilingual data, to which must then be imported with Okapi then.
      In this case, a file "testfile.docx" in the work data in workfiles will match the bilingual file "testfile.docx.xlf" in the relais folder.

Explaining the content of the above screenshot of a

A short explanation of what is displayed in this screenshot of an import zip file:


Additional info: proofRead is deprecated, use workfiles instead!


workfiles/Translate5 Demo Text EN.odtLibreOffice file to be translated, the source language is English. It shall is to be translated into the target language (Italian).
relais/Translate5 Demo Text EN.odt.xlfA previous translation of the same file was made into German.
The resulting bilingual file from that translation is now used here as a relay language, so making German is the relay language herein this case.
visualReview/Translate5 Demo Text EN.pdfThe Original libreoffice LibreOffice file was converted to PDF, to be used as a VisualReview file.
translate5.tbxOptional: A TBX file can be directly attached to a zip file, . This is normally this is done by associating an already imported TermCollection as a language resource to the task.


Matching / Aligning of the relay and source file

In order To ensure that the content of the source file can be matched to the content of the relay file, the following algorithm is used:

  1. As explained above, in order for the files to match the file names and folder structure must be identical in both the workfiles and the relais folder, so that the files can match.
  2. The relay file is parsed, for . For each relay segment, the segment in the work data is loaded
    a) either by the same ID, where with the ID depends depending on the import file format.
    b) or by the same segment number in the task
  3. In both cases, the relay source content of the segment must be identical to the source content of the segment to be translated.
    How You can configure how the source content is to be compared, an explanation of which can be configured. See found below.

Matching examples

Translate5 imports the first file. After that, the relay file is parsed. Due to the same ID (here id in this case the ID=2) and the identical source text, translate5 is able to align the segments properly.

If no segment corresponding to the ID=2 can be found, translate5 will try to load the segment of the same position is tried to be loaded. Then In this case, the source content must also be identical too.

Code Block
titleproofRead/Translate5 Demo Text EN.odt (converted to XLF by Okapi)
<trans-unit id="2" restype="x-text:h">
	<source xml:lang="en">Cloud translation, review, post-editing and terminology platform</source>
	<seg-source><mrk mid="0" mtype="seg">Cloud translation, review, post-editing and terminology platform</mrk></seg-source>
	<target xml:lang="it"></target>


File FormatUsed value as ID


trans-unit id + segmentnrInTask
(the suffix is needed for uniqunessuniqueness, since XLF may contain multiple files with the same trans-unit id)
SDLXLIFFtrans-unit id
Transittrans-unit id
CSVThe values from the column configured as "mid" column
XlfZend (internal)md5 hash of the long trans-unit id (a base64 encoded string)


Configuring how the source content is compared

How the source content is compared can be configured. There fore in In the configuration "runtimeOptions.import.relaisCompareMode" the flags "IGNORE_TAGS" and "NORMALIZE_ENTITIES" can be set.
Both are enabled by default.

IGNORE_TAGS: All tags are removed before comparison. To keep word boundaries, the tags are replaced with whitespace, multiple . Multiple whitespaces are replaced to merged into a single one.

NORMALIZE_ENTITIES: HTML Entities are decoded to enable comparison of " in one and &quot; in the other source content.