This page describes compatibility between OmegaT and Trados Studio. It applies to OmegaT used on any supported platform/operating system, including Linux, Windows and Mac OSX.
OmegaT provides a high degree of compatibility with Trados Studio (and to a lesser degree, with earlier versions of Trados). To understand compatibility issues, an understanding of the concepts and files used by the two tools is advantageous.
The core file format used by Trados Studio is the SDLXLIFF bilingual text format. SDLXLIFF is a variant of the industry-standard XLIFF format, with the addition of Trados-specific features.
SDLXLIFF (like the XLIFF file format upon which it is based) has a number of key features:
An advantage of bilingual file formats such as XLIFF and SDLXLIFF is that the source and target texts are always kept together at segment level as the file is processed. This enables a bilingual file to be passed between different parties in the translation value chain and processed at the successive stages in the same format. Conversion between different formats, which may be time-consuming and a source of errors, is avoided.
For example, a customer may create an SDLXLIFF file from a source text (such as an MS Word file) and send it to a translator. After translating the SDLXLIFF file, the translator sends it back to the customer, who then sends it to a reviser. After revising the translation by working on the SDLXLIFF file, the reviser returns it to the customer. Only then is the final translated file recreated in the original format from the SDLXLIFF file.
The SDXLIFF file format was intended for use in Trados Studio. In practice, "Compatibility" with OmegaT generally entails using OmegaT to work on an SDLXLIFF file at some stage in the process instead of doing so in Trados Studio.
These file formats are proprietary Trados formats. There are ways of accessing their content from outside Trados Studio, but there is (to my knowledge) no way of editing them or converting to them except within Trados Studio itself.
"Trados jobs" or "Trados projects" are often supplied in the form of a Trados project package (SDLPPX file) for the sake of convenience. SDLPPX files are merely zip archives containing the various files associated with a project, including files containing certain information of interest to the project manager.
OmegaT has no internal bilingual text format of its own. (The internal TMX format is not sequential, and therefore does not match this description.)
If the originator of a multi-party translation project is using OmegaT, it may be practical to create an XLIFF file to be passed on to other parties. An XLIFF file can be created for example by the use of Rainbow, a tool within the Okapi framework.
The much more likely scenario in practice is where the originator of such a multi-party project (e.g. a customer) is using Trados Studio and a downstream party (e.g. a freelance translator) is using OmegaT. This guide describes that scenario.
OmegaT uses the industry-standard TMX format as its internal format and is able to read (import) TMX files and export them for use in other CAT tools.
OmegaT automatically exports three TMX files when the target documents (the translation) of a project are created. These TMX files are named with the project name followed by -level1.tmx, -level2.tmx and -omegat.tmx. The difference between them is as follows:
For glossaries (as termbases are described in OmegaT), OmegaT uses the TSV (tab-separated values) format. TSV files are plain-text files in which – as the name suggests – the "values" (e.g. source term, target term) are separated by tabs. In OmegaT's case, each glossary entry appears on a new line: first the source term, then the target term, then (optionally) an explanation or other information, separated in each case by tabs. This format has the advantage of being very simple to use; it can be edited and managed directly by the user in a range of other applications, such as a text editor or MS Excel. Over the years, OmegaT has used a number of different extensions for this file (in particular, .tab and .txt), but the format has always been the same. File (character) encodings may differ. For details of extensions and file encodings, refer to the OmegaT user manual.
OmegaT is also able to read and use glossaries in other formats, notably CSV and the industry-standard TBX format. However, if the user wishes to add terms to a glossary from within OmegaT itself whilst working on a project, the project's "writable glossary file" must be in TSV format.
OmegaT has used the concept of "projects" since its inception. It has never been possible simply to translate a file in OmegaT; a project must be created, and files to be translated then placed in the project. The project contains one or more files for translation, together with additional resources such as translation memory files. There is no explicit "project package" function in OmegaT; however, if the default project structure is retained (possibly with symbolic links to external files), it is easy to create a zip archive from it for supply to another party.
Trados Studio SDLXLIFF files can be translated directly in OmegaT. For this purpose, the OmegaT installation must have a suitable file filter.
As of Version 6.0.0, OmegaT is supplied with its own SDLXLIFF filter. If you are using OmegaT 6.0.0 or later, call up Options > Preferences > Global File Filters, and you will see SDL XLIFF in the list of file filters. If you have a project open and the active file is an SDLXLIFF file, this filter will appear in bold.
Versions of OmegaT prior to 6.0.0 did not have a built-in SDLXLIFF filter. However, an OmegaT plugin has been available for many years from Okapi which contains an SDLXLIFF filter (together with filters for several other file formats). The plugin can be obtained here:
https://okapiframework.org/wiki/index.php/Okapi_Filters_Plugin_for_OmegaT
Since the other file filters provided by the Okapi plug-in are also very useful, you may want to install it even if you are using OmegaT Version 6.0.0 or later. To do this, download the zip archive, unpack it, then place the jar file (version at the time of writing: okapiFiltersForOmegaT-1.9-1.41.0.jar) in the plugins folder of your OmegaT installation. (More information can be found on the Okapi page linked to above, and in the OmegaT user manual.)
If your OmegaT installation has both SDLXLIFF filters, you can direct OmegaT to use a specific filter by disabling the other: call up Options > Global File Filters and uncheck the SDLXLIFF filter you wish not to be used.
OmegaT has for a long time been shipped with a generic XLIFF filter. This filter can also be used to translate SDLXLIFF files, but its functionality is limited and this is not recommended. (It is useful for translation of other, non-Trados XLIFF files.)
SDLXLIFF files must be placed in the /source folder of an OmegaT project and are translated in OmegaT in much the same way as other files.
If, in the supplied SDLXLIFF file, some (or all) of the segments are already translated, the translations of these segments will be shown in the OmegaT editor pane.
It's advisable to switch off sentence-level segmenting in OmegaT (Project > Properties, then uncheck the Sentence-level segmenting box) when translating SDLXLIFF files. This makes a segment in OmegaT identical to a segment in the SDLXLIFF file, and the segmentation in the translation memory (internal or exported) therefore also the same as that in the SDLXLIFF file.
The original source file from which an SDLXLIFF file was produced is embedded within the SDLXLIFF file. Although the translator can normally translate the SDLXLIFF file without having access to the source file, this access is obviously advantageous, if only for the translator to be able to see the layout of the text.
If you haven't been supplied with the source file separately, you can extract a copy of it from the SDLXLIFF using SDLXLIFF-extractor, a Python script produced by Thomas van Nellen. SDLXLIFF-extractor can be downloaded here:
https://github.com/TomasoAlbinoni/sdlxliff_extractor/archive/refs/heads/master.zip
To use SDLXLIFF-extractor:
A note about the preview function
OmegaT does not have a built-in preview function of its own, but you can add one quite easily using external utilities. Details can be found here: https://sourceforge.net/p/omegat/wiki/Preview%20function.
However, when you are translating an SDLXLIFF file, you will not be able to use this function, as it relies on OmegaT generating the final translated file. Translation of an SDLXLIFF file in OmegaT "only" produces a bilingual SDLXLIFF file, and a translation of the original file format is produced in turn from the translated SDLXLIFF file in a Trados process that OmegaT is unable to mimic.
You can however extract the original source file as described above and use it for reference to view the layout.
If you have received SDLTM and/or SDLTB files as part of a "Trados job" and wish to use them in an OmegaT project, you can convert them to formats suitable for use in OmegaT: TMX for SDLTM, and TBX or CSV/TSV for SDLTB. Several converters are available:
Written by Thomas van Nellen, this SDLTM to TMX and SDLTB to TSV/CSV converter runs on Linux, Windows and Mac OSX. Free of charge. Previously available here.
At present, it can be downloaded here:
To use Trados Studio Resource Converter:
Made available free of charge by Logrus Global. Goldpan is very easy to install and use, but is available only for Windows. Download here:
SDLTM/SDLTB to TMX/TBX conversion utility from the folks over at Wordfast. Also Windows-only. Download here:
wordfast.net/zip/WfConverter.zip
In principle, you can use SDLPPX Packager (see below) to convert Trados SDLTM and SDLTB files to TMX and TSV files respectively. In practice this is a somewhat convoluted process, as 1) it is only possible with the command-line version of the utility, 2) the target files can only be placed in a project (and not simply converted), and 3) the command syntax, it seems, accepts only relative paths.
TMX files obtained by converting Trados SDLTM files can be used in OmegaT in the same way as other reference TMX files.
Without access to Trados, OmegaT users have no way of returning an updated translation memory in the Trados SDLTM format. They can however supply an exported TMX file (ideally Level 2, see above), which can be imported into Trados. Alternatively, the Trados user can use the translated SDLXLIFF file returned by the OmegaT user to create or update a Trados translation memory.
The use of Trados termbases in OmegaT is constrained more by OmegaT's limited glossary functionality than by compatibility issues.
The simplest solution is to convert Trados termbases in SDLTB format to TBX format or CSV/TSV (as described above) and place them in OmegaT's /glossary folder for use purely as reference glossaries. If creation of a glossary for return to the Trados user is desired, this glossary can be created in OmegaT's TSV format, and following completion of the translation converted to a format that Trados is capable of importing. The simplest and most user-friendly option in this case is probably to open the OmegaT glossary in Excel or LibreOffice Calc, save it as a spreadsheet, then save it again as a CSV file. Pay attention here to using commas as the delimiter, and to the file encoding (if in doubt, use UTF-8).
If comprehensive terminology management (including multiple fields) is desired during translation, an external terminology tool capable of managing TBX files whilst they are also being used in the OmegaT project is worth considering. Maxprograms TMXEditor (cost around US$100) should be ideal for this purpose. It can be obtained here:
https://maxprograms.com/products/tmxeditor.html
Trados project packages in the SDLPPX format are zip archives containing the various files forming the project. The zip archive can be unpacked and the individual files used as already described. (If you are unsure how to unpack the SDLPPX file, change the .sdlppx file extension to .zip and right-click on it to unpack it.)
Since Version 6.0.0, OmegaT has had a built-in feature for handling Trados projects without the need for the SDLPPX files to be unpacked. This feature treats a package itself as a source file for translation. The SDLPPX package is not therefore treated as an OmegaT project: a new OmegaT project must still be created in this case and the SDLPPX file placed in the project's source folder (without being unpacked). Both the source and the target language codes in the OmegaT project settings (Project > Properties, Languages) must match the codes used in the SDLPPX package: opening the package as a zip archive (without unpacking it) reveals these codes in the form of folder names (e.g. en-GB for British English).
A standalone utility (SDLPPX Packager) is also available for handling SDLPPX project packages. The current version of SDLPPX Packager at the time of writing can be downloaded here:
github.com/briacp/SDLPPXPackager/releases/download/v1.4.0/SDLPPXPackager-1.4.0.zip
To use SDLPPX Packager, simply unpack (unzip) the archive containing the SDLPPXPackager application (current version at the time of writing: SDLPPXPackager-1.4.0.zip) in a suitable location. You do not need to install anything. Launch SDLPPX Packager using the executable files SDLPPXPackager (for Linux) or SDLPPXPackager.bat (for Windows), both in the /bin subfolder.
A description of SDLPPX Packager can be found here:
github.com/briacp/SDLPPXPackager/blob/main/README.md
The procedure for using SDLPPX Packager is as follows:
Points to consider when using the SDLPPX Packager:
A description by Christopher Köbel of the structure of an SDLPPX project package file can be found here:
https://www.defrent.de/2014/09/whats-in-sdl-trados-projectreturn-packages-sdlppxsdlrpx
© Marc Prior August 2023