Posts Tagged ‘OmegaT’

Video: Boosting Your Productivity with a Project Template in OmegaT – Edited

May 11th, 2017, Roman Mironov

This video explains creating new projects in OmegaT based on a project template instead of doing it from scratch.

Using a template

Instead of creating each new project within OmegaT, you keep a template which you copy to a target folder to create a project. Suppose you have a project template stored on a network drive:

Project template
Copy to your projects folder to create a project
Y:\Auxiliary files\OmegaT project template\.ini
Y:\Auxiliary files\OmegaT project template\dictionary
Y:\Auxiliary files\OmegaT project template\glossary
Y:\Auxiliary files\OmegaT project template\omegat
Y:\Auxiliary files\OmegaT project template\source
Y:\Auxiliary files\OmegaT project template\target
Y:\Auxiliary files\OmegaT project template\tm
Y:\Auxiliary files\OmegaT project template\omegat.project
Y:\Projects\Project 014\.ini
Y:\Projects\Project 014\dictionary
Y:\Projects\Project 014\glossary
Y:\Projects\Project 014\omegat
Y:\Projects\Project 014\source
Y:\Projects\Project 014\target
Y:\Projects\Project 014\tm
Y:\Projects\Project 014\omegat.project

This template includes settings, files, and folders that you would otherwise have to configure or copy into the new project manually. Let’s look at how helpful it is to avoid this manual work.

Keeping file filters and segmentation project-specific

The main reason for creating projects with a project template is using project-specific filters.xml and segmentation.conf files for each project automatically.

File What it is for
filters.xml Settings for file filters
segmentation.conf Segmentation rules

If you create a new project through OmegaT, it uses the default filters.xml and segmentation.conf stored on your computer (under the user settings folder, such as C:\Users\Your name\AppData\Roaming\OmegaT under Windows). If you open the same project on a different computer, it might not have the same tags or segmentation, because the default settings stored on that computer are different. By relying on a project template that already includes filters.xml and segmentation.conf, you ensure that OmegaT will use these project-specific settings regardless of the computer you are at.

Storing these project-specific settings in a template makes it possible to optimize them continually. For example, if you create a powerful segmentation rule that you want to re-use in the future, you add it to this project template (by simply opening it as a regular project and then adding the rule). Next time you create a project by copying this template, this rule will be be in your project-specific settings. The project template thus serves as a storage for accumulating preferred filter and segmentation settings, whereas otherwise, you are likely to bury those new settings within individual projects or at different computers.

Building your custom spelling dictionary

You can store your custom spell checker dictionary (learned_words.txt) in the OmegaT project template as well. This allows re-using the dictionary in each new project, which saves you time by not having to add the same words to the custom dictionary again and again. Remember, though, that building this custom dictionary over time requires collecting new words from individual projects into it manually—OmegaT cannot do it for you.

Ability to add custom folders and files to each project automatically

New projects created by OmegaT have a default folder structure. If you want to add anything to this structure, you do this manually. However, a project template spares you this manual work. By simply adding custom files and folders to this template, you make them available in each new project automatically. Examples include:

Configuring project settings

Within your project template, you can also configure project settings in the omegat.project file to use those settings in each new project automatically, without manual configuration. Examples include:

I encourage you to give this project template idea a try. If you need help with it or have feedback, get back to me in the comments.

If this article was of value to you, please let others know about this blog by posting a link to it on your site or social media.

Video: Translating Trados Files in OmegaT? It’s Never Been Easier!

December 27th, 2015, Roman Mironov

Are you tasked with translating SDLXLIFF files from an agency client, but want to use OmegaT to do the translation? This may happen when you do not own a SDL Trados Studio license or you, like some of our readers, have an aversion to this program. Here is the good news: OmegaT makes such task easy with the use of the XLIFF filter included in the Okapi plugin. In fact, this filter has been around for a few years, but it is only with the M26 release that it can save translated SDLXLIFFs properly, without breaking them.

How to use the Okapi XLIFF filter

Choosing XLIFF filter provided by Okapi plugin in OmegaT

  1. Put SDLXLIFF files into the source folder of your OmegaT project.
  2. Open the project, then open project properties and go to File Filters. Make sure the XLIFF files (Okapi) filter is checked, while the XLIFF (native) filter is unchecked. OmegaT will highlight the current filter for your convenience.
  3. In the project properties, uncheck Enable Sentence-level segmenting. By disabling segmentation, you keep the original segmentation of SDLXLIFF files and also enable OmegaT to insert any 100% matches automatically.
  4. Translate the text.
  5. Create the translated files.


Although this is absolutely the easiest way to translate SDLXLIFF files in OmegaT, I cannot promise it is the safest one. I did test it extensively and found no problems so far. However, I stongly recommend a roundtrip. Before diving deep in translation, you translate a few segments, save the “translated” file, and open it in SDL Trados Studio to make sure everything is fine.

It is also a good idea to open translated files in Studio after completing translation. Obviously, to do this kind of check, you need to own a Studio license. If you do not have one, at least have a colleague who has such a license and can check files for you in important projects.


You may also want to use this route with files that have a lot of 100% matches, because there is no easy way to handle such files with the native XLIFF filter.


What is still slightly disappointing about this filter is that tags it displays have incremental numbers, which can undesirably turn non-unique segments (i.e., repetitions) into unique ones.
Tags by the Okapi plugin filter vs. tags by the native XLIFF filter

If this blog post helped you, you can help it in return—share a link to it on your site or social media profile. You can also watch other OmegaT videos we posted.

Video: Don’t Translate in Studio If You Don’t Want to

December 18th, 2015, Roman Mironov

This video explains the basics of translating SDL Trados Studio files in OmegaT to give you a general idea of the process:

Two filters

OmegaT has two XLIFF filters: the native one and the one from the Okapi plugin. The native filter requires that the text to be translated is placed between the “target” tags within the file or, put simply, source is copied into target. This is the filter that I am going to work with.

Native OmegaT and Okapi File Filters for XLIFF

Preparing the SDLXLIFF file for translation in OmegaT

  1. Open the SDLXLIFF file in Studio.
  2. Use the Copy All Sources to Target command to insert the original text into the right column. This creates the “source equals target” format expected by OmegaT. For pre-translated segments, you will need to use the Clear Target Segment command first, or else Studio will not populate those segments with the original text.
  3. Save and close the file.

Translating the file in OmegaT

  1. Open the project in OmegaT and make sure the native XLIFF filter is used. The text for translation will appear in the Editor pane.
  2. Translate the text.
  3. Create the translated file.

Checking the translated file

  1. Open the translated file in Studio and watch for any errors during opening.
  2. Run QA Checker.
  3. Save the target file in Studio to make sure the SDLXLIFF was not corrupted while translating with OmegaT.

What I showed is a very basic process. There are quite a few nuances and ways to automate the process, including the ability to forgo using Studio.

If this blog post helped you in some way, please share a link to it on your site or social media. Watch other OmegaT videos posted on this blog.

Video: How to Save Time While Avoiding Losing TMs and Glossaries with a Centralized Location for TMs and Glossaries in OmegaT

September 6th, 2015, Roman Mironov

This video explains yet another way to be more productive with OmegaT.

Centralized location concept

When you create a new project, OmegaT puts the “tm” and “glossary” subfolders in the project folder. If you have any additional TMs for this project, you copy them into the “tm” subfolder, and the same for the glossaries. With long-term projects (returning clients), you end up copying all previous project TMs and glossaries into these subfolders whenever you create a new project. This is inefficient and—like any manual process—prone to human error, such as forgetting to copy some of your files.

To avoid this problem, you can store and access TMs and glossaries for clients in a centralized manner. The setup looks like this:


Your clients’ TMs and glossaries go into the “tm” and “glossary” subfolders within this centralized location. When you set up a project, you point OmegaT to this folder for the TMs and glossaries, thus making it use the centralized location instead of the local folders.

The next time you create a project for this client, all you need to do is this:

  1. Copy the TM and the glossary from the last project into the centralized location. This will make sure your centralized location has all files from previous projects. This is still a manual process, but it is much easier and smarter than copying files between local project subfolders.
  2. Point the new project to the centralized location for TMs and glossaries.

Final tips

  1. If you use OmegaT on different devices, it is a good idea to put this centralized location on a network share accessible from all these devices.
  2. To avoid configuring paths to the centralized location manually for each new project, you can simply copy the project configuration file (omegat.project) from the last project to the new one, provided the old one has correct paths.

In conclusion

Relying on a centralized location to store TMs and glossaries is an important step to keeping your valuable translation assets under control. Not only does it bring organization to TMs and glossaries, but it also saves time and prevents you from using outdated files or losing important files.

If this article was of value to you, please help keep this blog going by posting a link to it on your site or social media.

Video: How to Disconnect Alternative Translations from File Names (OmegaT 3.1.3 Review)

March 26th, 2015, Roman Mironov

Version 3.1.3 brings 16 enhancements, but this video focuses on just four most important ones.

Enhancement in the area of alternative translations

Previously, each alternative translation was rigidly attached to a specific file name. OmegaT would only insert alternative translations when the file name in the translation memory matched the actual name of the translated file. If you forgot about this and change the file name, OmegaT would not insert the alternative translation.

Now you can disable this behavior by unchecking Ignore file context when identifying segments with alternative translations under File Filters. OmegaT will save alternative translations without file names and will insert them in any file as long as the context of the segment is the same, of course.

Although this improvement does not sound exciting, everyone who ran into the issue with alternative translations after renaming files will appreciate it.

project_save.tmx created automatically in team projects

In the past, you had to create the project_save.tmx file in a repository for each team project. Otherwise, you would get an error about the project_save.tmx file that did not exist. Now OmegaT is supposed to create this file automatically.

Navigating to selected fuzzy matches

If you want to jump to the segment that displays in the Fuzzy Matches pane, you can do so by right-clicking it and selecting Go To Source Segment. OmegaT now also makes it possible to do the same through the Go To menu. Simply select the fuzzy match and click Source of Selected Match.

File names displaying for search results

OmegaT now conveniently displays file names for each search result. All you need to do is enable the file names checkbox in the Text Search window.

If this blog helped you in some way, please share a link to this post on your site or through social media.


Video: Better QA and Access to EU Terminology in OmegaT (OmegaT 3.1.2 Review)

March 7th, 2015, Roman Mironov

I know this is a review of an old version, but better late than never!

Join me for another video review of OmegaT—this time it is my pleasure to review most of enhancements introduced in version 3.1.2.

Notes from orphan segments and external TMXs display in search.

Previously, OmegaT could find segments with notes from TMXs placed in the tm subfolder of the project, but it did not display the actual text of notes. Now, it displays this text right below the target part, preceded by the equal sign. And it does the same for orphan segments.

Aggregation of search results

Similarly to the Fuzzy Matches pane, the Text Search window now displays several identical results as one and also shows the number of other results that are not displayed. This makes it much easier to use.

Alternative progress bar

You can now click the progress bar in the lower right corner to switch to the alternative one that shows the percentage of translated text and the number of words left for the current file and the entire project.

Sortable errors in QA output

The main QA script now displays the errors sorted by error type by default, making it easier to check errors efficiently.

Spelling errors included in QA output

Instead of running both the QA script and the spellcheck script when you finalize the project, you can now run just the QA script, because it will include spelling errors as well.

Stripping tags only in selection

Kos Ivantsov improved the “Strip tags” script by making it delete tags in the selected text only, provided some target text is selected.

Connector to TaaS

OmegaT now includes the ability to connect to the EU termbase project. You can download the glossaries (collections) for the project’s language combination to the glossary subfolder of the project or access the termbase in real-time. While public collections are freely available, access to private ones requires an API key that you can get on the API key page.

Enhanced auto-completer

In addition to inserting suggestions by hitting Enter, you can do the same by double-clicking.

OmegaT detects the type of repository automatically in team projects.

No need to select between Git or SVN anymore.

Two labels in the Text Search window renamed for clarity

Number of matching segments and Display all matching segments instead of Number of results and Display all results, respectively.

Word bug fix

In the past, OmegaT failed to include the text placed before leading tags in target files. This bug is fixed in the latest version, allowing you to rearrange the text with regard to leading tags as necessary.

If this article and video were of value to you, please support this blog by posting a link to it on your site or social media (the sharing buttons are below this post).


Video: Less Dreadful Scripting in OmegaT 3.1.0

October 10th, 2014, Roman Mironov

Version 3.1.0 of OmegaT has seen massive improvements in the area of scripts. This video explains the most important enhancements.

Saving window position and size in preferences

OmegaT now keeps the Scripting window position and size in the preferences file, so that every time you open this window, you do not have to resize or move it all over again.

New location for the Run button

The Run button now displays in the lower left corner of the Scripting window, which makes it easier to access. Remember also that you can press it using the Alt+R hotkey.

User-friendly script names

The scripts now support user-friendly names that display in the script list instead of the file names. Most standard scripts already have names configured. To add names to other scripts, you can do the following:

Add a line to the beginning of a script. /* :name=QA – Check Rules     :description=The rules are based on the Checkmate Quality check
Сreate a file that has the same name as the script, but properties extension. In this file, you need to provide values for name and description. name=Convert XLIFF to TMX
description=Converts translated XLIFFs into translation memories

Script localization

You can also create a file script_name_[language].properties which will have the localized name and description for that language. For example, this localization file includes the name and description that will display in the Japanese version of OmegaT.

File name Contents Localized name and description for the Japanese language

Real-time monitoring

OmegaT now monitors the scripts folder for changes in real time. If you make any changes to any script, the script list updates automatically without having to press F5.

To make sure you do not miss future videos about the latest functions added to OmegaT, subscribe to our YouTube channel about OmegaT.

If this blog post was of help to you, please share a link to it on your site or social media.

Video: How I Increased Ease of Use and Productivity in OmegaT with the FolderMenu Plugin

August 14th, 2014, Roman Mironov

One of the best things about OmegaT is the ability to inject new functions with plugins. One such indispensable plugin is the Okapi plugin, which adds support of various file formats into OmegaT. A few other very useful plugins have been created by Japanese translator and programmer Yu Tang. This video is about one of such plugins.


Some time ago, Yu Tang wrote several scripts for accessing files and folders, such as opening the current file, glossary, and the translation memory folder. However, using scripts is not always optimal. Firstly, although you can assign a script to a Ctrl+Shift+Fx shortcut to use it more efficiently, the number of shortcuts is limited, so you normally want to reserve them for more frequently used functions. Secondly, many people prefer a more visual way to access files than with a shortcut. The FolderMenu plugin written by Yu Tang later addresses these issues.


Just like with any other OmegaT plugin, you need to download it and put it in your plugins subfolder within the settings folder of OmegaT. Although it is just one file, make sure to put it into a separate folder, for clarity. The resulting installation under Windows might look like this: C:\Users\your name\AppData\Roaming\OmegaT\plugins\FolderMenu\FolderMenu.jar.


The plugin will add the Folders menu to the OmegaT’s menu bar.


Folder menu plugin Project root

To access the current project’s folder, any subfolder within it, or any file, go to FoldersProject Root and then select the desired item. Most frequently, I use this menu to open files in the source and target subfolders. You can also access glossaries and translation memories if they are kept within the project folder.

Folder menu plugin Config

The second option in the Folders menu is User Config, allowing you to access any file in the settings folder of OmegaT. You do not often need to access them directly, but the next time you need them, you will likely appreciate how easy it is to do so through the menu.

In conclusion

The FolderMenu plugin makes accessing files and folders in OmegaT projects a breeze. By using it instead of browsing manually to files and folders outside of OmegaT, you will save quite some time over the long term. A great piece of work by Yu Tang and an excellent example of open source in action.

For more tips about extending OmegaT’s native functionality, read the article “

If this blog helped you in some way, please share a link to this post on your site or through social media.

How We Turned OmegaT Weaknesses into Strengths

July 29th, 2014, Roman Mironov

One of the great things about the translation program OmegaT is that it fully supports other CAT (computer-aided translation) tool formats, including SDLXLIFF (SDL Trados Studio) and TXML (Wordfast Pro). This gives you the flexibility to rely on those CAT tools when OmegaT lacks a particular functionality. One example explained in this post is benefiting from better file filters.

Translating hidden text in Microsoft Word files

Whenever parts of a text do not require translation, it makes sense to “hide” them. Examples include:

  1. A client asks you not to translate certain items, because they are instructions for the DTP specialist.
  2. A client instructs you to provide a bilingual file with the translation next to, or under, the original.

However, there is no way to hide text within OmegaT natively. Take the second example. You normally want to prepare the original file in such a way that will provide the required layout automatically. For instance, if a client tells you to translate three paragraphs by putting the respective translation under each paragraph, you can prepare the original file by duplicating each paragraph, thus creating a file with three duplicate paragraphs.

File prepared for producing bilingual translation

You then translate the second paragraph of each pair only, leaving the first one untranslated. When you create translated documents, you automatically get the translation in a bilingual layout.

File with bilingual translation

Now, the problem with OmegaT is that you see all six paragraphs in the editor instead of just those three that require translation, which is distracting and requires creating alternative translations so that the original text remains untranslated. You can hide this text in Microsoft Word, but OmegaT will still display it, because its Microsoft Open XML filter does not yet have the option to not display hidden text.

This is where other CAT tools come into play. SDL Trados Studio does provide this feature, and you can use it as an intermediate format between Microsoft Word and OmegaT. Here is how you go about it:

  1. Prepare a pseudo-bilingual DOCX file as described above.
  2. Convert the file into SDLXLIFF with Studio.
  3. Check to make sure the text is hidden in the SDLXLIFF file as expected.
  4. Copy source into target: this is the format supported by OmegaT’s native XLIFF filter.
  5. Translate the file with OmegaT.
  6. Open the translated file in Studio and save the target DOCX file.

One might argue that this entire procedure is too complicated, since it is easier to translate the file first and then insert the translations into the original file to create bilingual text. However, I do not recommend this, because you will lose the important ability to make changes to the translation in OmegaT and then re-create the target file. Without this ability, you will likely face wasteful rework when changes to the translation are required. Read more about this principle of keeping translated files “connected” to OmegaT.

Translating Adobe Indesign files

OmegaT’s INDD filter (provided by the Okapi plugin) is not as good as in other CAT tools yet. Some time ago, we worked on a set of INDD files that OmegaT failed to segment properly: it kept breaking sentences into smaller pieces. We tried several other tools and found that Wordfast Pro did a better job, making it an ideal intermediate format to translate these files. We then followed this procedure:

  1. Convert the file into TXML with Wordfast Pro.
  2. Copy source into target: this is the format supported by OmegaT’s native TXML filter.
  3. Translate the file with OmegaT.
  4. Open the translated file in Wordfast Pro and save the target file.

In conclusion

Although I provided very specific examples, the broader point of this post is to show how you can leverage other CAT tools to complement OmegaT’s functionality. Whenever you run into issues such as those described, remember to test whether other CAT tools can serve as an intermediate format.

If this blog post helped you, you can help it in return—share a link to it on your site or social media profile.

Video: Translation Software OmegaT Takes Spell Checker to the Next Level (OmegaT 3.1.1 Review. Part 2)

July 18th, 2014, Roman Mironov

This is the second video about the changes introduced in the free translation program OmegaT, version 3.1.1.

The “Finish” button replaces the “Cancel” button.

When you go into the replacement mode by clicking any of the replace buttons in the Text Replace window, the button for closing this mode is now called “Finish” instead of “Cancel” .

1,000 requests to the MyMemory MT service available per day

If you use the MyMemory machine translation service, you can increase the number of requests allowed per day from 100 to 1,000. To do so requires running OmegaT with the option below:

Option to run OmegaT, e.g., using a BAT file e-mail

Comments displayed by the Java Resource Bundles filter

While you translate files with this filter, the Comments pane displays comments (# or !) left by developers in source files.

Spell checking improvements

In addition to sorting by column reviewed in the previous OmegaT 3.1.1 video, the spell checking script underwent a few other major improvements:

  • The script can ignore mnemonic characters and escape sequences, making it possible to check words split by characters (such as { or n) in a meaningful way instead of getting a long list of false positive errors (pieces of words).
  • Disabling the Check whole project checkbox allows checking spelling in the current file only—an extremely useful feature when you have a project with many files, but want to check spelling in just one.
  • The Use glossary checkbox reduces the number of false positives by letting the script assume that glossary terms are correct.

The “Properties…” menu is enabled in team projects again.

The re-enabled menu allows changes to project-specific file filters and segmentation rules only. The idea behind blocking access to other settings is to prevent translators from changing settings while a project is in progress. To access settings in a working copy of a project, run OmegaT with the option below that prevents synchronization with the server:

Option to run OmegaT, e.g., using a BAT file

Correct match statistics for bilingual documents with source=target

OmegaT is now free from the bug that caused incorrect match statistics in files pre-translated for OmegaT (source copied into target). Previously, OmegaT erroneously assumed that almost all words fell into the 95 to 100% match category regardless of the actual match rate.

Getting help with using the translation program OmegaT

You can also watch the first part of this OmegaT video. You can ask questions about these and other OmegaT functions in the translation program OmegaT user group.

If this blog post helped you in some way, please share a link to it on your site or social media.

  • RSS

    Subscribe by E-mail

  • © 2005-2015 Velior

    Contact Us


    +7 (962) 155-89-07