OmegaT

OmegaT is a computer-assisted translation tool written in the Java programming language. It is free software originally developed by Keith Godfrey in 2000, and is currently developed by a team led by Aaron Madlon-Kay.
OmegaT is intended for professional translators. Its features include customisable segmentation using regular expressions, translation memory with fuzzy matching and match propagation, glossary matching, dictionary matching, translation memory and reference material searching, and inline spell-checking using Hunspell spelling dictionaries.
OmegaT runs on Linux, macOS, Microsoft Windows and Solaris, and requires Java 8. It is available in 27 languages. According to a survey in 2010 among 458 professional translators, OmegaT is used 1/3 as much as Wordfast, Déjà Vu and MemoQ, and 1/8 as much as the market leader Trados.
History.
OmegaT was first developed by Keith Godfrey in 2000. It was originally written in C++.
The first public release in February 2001 was written in Java. This version used a proprietary translation memory format. It could translate unformatted text files, and HTML, and perform only block-level segmentation (i.e. paragraphs instead of sentences).
Development and software releases.
The development of OmegaT is hosted on SourceForge. The development team is led by Aaron Madlon-Kay. As with many open source projects, new versions of OmegaT are released frequently, usually with 2-3 bugfixes and feature updates each. There is a "standard" version, which always has a complete user manual and a "latest" version which includes features that are not yet documented in the user manual. The updated sources are always available from the SourceForge code repository.
How OmegaT works.
OmegaT handles a translation job as a project, a hierarchy of folders with specific names. The user copies non-translated documents into one named /source/ (or subfolders thereof). The Editor pane displays the source documents as individual “segments” for translation one segment at a time. OmegaT, when directed, generates the (partially) translated versions in the /target/ subfolder.
Other named folders include ones for automatic consultation within the program: /tm/ for existing translation pairs in .tmx format, /tm/auto/ for automatic translation of 100% matches, /glossary/ for glossaries, /dictionary/ for StarDict (and .tbx) dictionaries.
When the user goes to translate a segment in the Editor pane, OmegaT automatically searches the .tmx files in the /tm/ hierarchy for previous translation pairs with similar source sentences and displays them in the Fuzzy Matches pane for insertion into the Editor pane with a keyboard shortcut. The Glossary and Dictionary panes provide similar automatic look-up functions for any glossaries and dictionaries in the corresponding named folders in the project. The optional Machine Translation pane shows machine translations from Google Translate and similar services.
When the user leaves a segment, OmegaT normally first adds the source-target pair to its database in memory. It subsequently saves that database to disk in Translation Memory eXchange (.tmx) format for use another day, in other projects, by other translators, and even with other CAT tools. No change, naturally enough, means no such update. Version 3.1 added a setting for blocking targets equal to their sources, a common slip, plus a keyboard shortcut for overriding it—numbers, source code in programming manuals, etc.
At any point, the user can create partially translated versions of the source files. Note that OmegaT copies source segments verbatim if they have yet to be translated. Before doing so, however, the user is advised to use the Validate menu command to check for tag and other errors. Version 3.1 added a menu command (and keyboard shortcut) for limiting operation to the current file—for partial delivery or quick update, for example.
Features of OmegaT.
OmegaT shares many features with mainstream CAT tools. These include creating, importing and exporting translation memories, fuzzy matching from translation memories, glossary look-up, and reference and concordance searching.
OmegaT also has additional features that are not always available in other CAT tools. These include:
Document formats support.
Several file types can be translated directly in OmegaT. OmegaT determines the file type by the file extension. The file extension handling and preferred encoding can be customised to override default settings.
OmegaT handles formatted documents by converting formatting to tags, similar to other commercial CAT tools.
Indirectly supported formats.
There are two processes that allow OmegaT to handle unsupported formats:
Support for XLIFF.
The program Rainbow from the Okapi Framework can convert certain file formats to an XLIFF format that OmegaT does support. Rainbow can also create complete OmegaT project folders from such documents, for easier handling in OmegaT.
Support for Gettext PO.
A number of file formats can be converted to Gettext Portable Object (PO) files, which can be translated in OmegaT. The Debian program po4a can convert formats such as LaTeX, TeX and POD to Gettext PO. The Translate Toolkit can convert Mozilla .properties and dtd files, CSV files, certain Qt .ts files, and certain XLIFF files to Gettext PO.
Support for Office Open XML and ODF.
Microsoft Word, Excel and PowerPoint documents from version 97 to 2003 can be converted to Office Open XML (Microsoft Office 2007/2010) or ODF (OpenOffice.org) format. Conversion is not entirely lossless and may lead to loss of formatting.
Support for Trados® .ttx files.
Trados® .ttx files can be treated using the Okapi TTX Filter.
Supported memory and glossary formats.
Translation memories in TMX format.
OmegaT's internal translation memory format is not visible to the user, but every time it autosaves the translation project, all new or updated translation units are automatically exported and added to three external TMX memories: a native OmegaT TMX, a level 1 TMX and a level 2 TMX.
Exported level 2 files include OmegaT's internal tags encapsulated in TMX tags which allows such TMX files to generate matches in TMX level 2 supporting CAT tools. Tests have been positive in Trados and SDLX.
OmegaT can import TMX files up to version 1.4b level 1 as well as level 2. Level 2 files imported in OmegaT will generate matches of the same level since OmegaT converts the TMX level 2 tags of the foreign TMX. Here again, tests have been positive with TMX files created by Transit.
Glossaries.
For glossaries, OmegaT mainly uses tab-delimited plain text files in UTF-8 encoding with the .txt extension. The structure of a glossary file is extremely simple: the first column contains the source language word, the second column contains the corresponding target language words, the third column (optional) can contain anything including comments on context etc. Such glossaries can easily be created in a text editor.
Similarly structured files in standard CSV format are also supported, as well as TBX files.
Involvement by community of users.
The OmegaT Project.
OmegaT is open-source software and benefits from the help of volunteers. Programming is certainly the most important function, but it would benefit from greater support from volunteers in almost all areas. If you feel so inclined, you may also modify OmegaT to suit your own requirements.
Localization of OmegaT.
OmegaT's user interface and documentation have been translated into about 30 languages. Volunteer translators can translate either the user interface, the "Instant Start" short tutorial, or the entire user manual (or all three components). All the language files and all translations of the user manual are included in the standard distribution of OmegaT.
User-created programs.
A characteristic of the OmegaT user community is that deficiencies in OmegaT often prompt users to create macros, scripts and programs that perform those functions, although sometimes those features later become available in OmegaT itself. When OmegaT offered only paragraph segmentation, a user created OpenOffice.org macros for segmenting by sentence. When automatic leveraging of TMs in OmegaT still required TMs to be merged, a user created a TMX merging script. When OmegaT offered no spell-checking support, several users created scripts or found solutions to provide spell-checking as part of an OmegaT based translation process.
Other software built on OmegaT.
Autshumato translation suite.
Autshumato consists of a CAT tool, an aligner, a PDF extractor, a TMX editor, and a public TM based on crawled data. The finished version will include a terminology manager and a machine translator. The CAT tool element is built upon OmegaT, and requires OpenOffice.org to run. Development is funded by the South African government's Department of Arts and Culture.
Benten.
Benten is an Eclipse-based XLIFF editor. It uses OmegaT code to handle the TM matching process. It is partly funded by the Japanese government.
Boltran.
Boltran is a web-based tool that mimicks the workflow of an OmegaT project. It is built upon the source code of OmegaT and can export OmegaT projects.
OmegaT+.
OmegaT+ is a CAT tool that was forked from OmegaT version 1.4.5 in 2005. OmegaT+ works in a way similar to OmegaT. It has developed its own features but projects are not compatible with OmegaT.
OmegaT in DGT.
The Directorate-General for Translation of the European Commission (DGT) uses OmegaT as an alternative CAT tool alongside a mainstream commercial tool. DGT maintains a fork of OmegaT (DGT-OmegaT) with adaptations/improvements/new features that meet DGT-specific requirements as well as a number of helper-applications to integrate OmegaT in its workflow: a Wizard to automate the creation, updating, revision and delivery of projects, Tagwipe to clean useless tags in docx documents and TeamBase to allow the sharing of memories in real-time. Those applications are made available by DGT as free open source software.