Archive for the ‘Translation Technology’ Category

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.

Common English to Russian Translation Errors. Part 8. “Function” and “Functional”

April 17th, 2015, Roman Mironov

This is the next article in the series about frequent challenges that Russian translators face. It explains nuances of translating the term “function” in the context of business administration.

Meaning and challenge

Function is a traditional way of organizing people into broad groups within an organization, based on their most general role. Common functions include operations, human resources, marketing, and accounting.

The challenge with the Russian translation of “function” is two-fold:

Problem Original Incorrect or clumsy
Literal translation of “function” does not work. The entire decision-making process can stall, usually at one of four bottlenecks: function versus function Вследствие этого весь процесс принятия решений может застопориться, обычно из-за одной из четырех проблем: конфликт между функциями
There is no short and sweet Russian equivalent that would fit all contexts, which often forces translators to use longer, descriptive word combinations. Sometimes, the words chosen by translators are not fully equivalent to the original meaning. Colleagues feel that people help across functions. Сотрудники считают, что люди в организации готовы помогать друг другу независимо от функциональной области, в которой они работают.

Possible translations of “function” and “functional”

Option Original Translation
Функциональная область (you can also add “деятельности”) For example, after senior managers at a major U.S. retailer used this method to sort out a particularly thorny set of corporate decisions, they promptly built the process into their own functional organizations. Например, после того как высшие руководители крупного американского ритейлера успешно применили метод для ряда особенно проблематичных корпоративных решений, они поспешили наладить аналогичный процесс в собственных функциональных областях.
Функциональное подразделение But fluid decision making across functional teams remains a constant challenge, even for companies known for doing it well, like Toyota and Dell. Однако совместное принятие решений несколькими функциональными подразделениями по-прежнему затруднено, даже в компаниях, известных своими успехами в этой области, таких как Toyota и Dell.
Подразделение (отдел). Be careful because it may appear narrower than “function” and clash with translations of “division” or “department.” Different functions have different incentives and goals, which are often in conflict. У разных подразделений (отделов) разные стимулы и цели, которые часто противоречат друг другу.

Regardless of the option chosen, it might be a good idea to explain what is exactly meant the first time the term is used.


“Cross-functional,” meaning “bringing together people from different functions,” takes the translation challenge to the next level. Translators find themselves between a rock and a hard place—a literal translation that makes readers scratch their heads or a long, descriptive translation that makes the text difficult to read.

Option Original Translation
Literal translation Each table group will form a cross-functional team tasked with proposing a new logo for a division of our global company. Группа за каждым столом формирует межфункциональную команду, перед которой поставлена задача разработать новый логотип для подразделения нашей глобальной компании.
Long, descriptive translation Cross-functional decisions too often result in ineffective compromise solutions, which frequently need to be revisited because the right people were not involved at the outset. Решения, принятые группой людей из разных функциональных областей организации, слишком часто оборачиваются неэффективным компромиссом и требуют пересмотра из-за того, что изначально к принятию решения не были привлечены нужные люди.

The choice depends on context. If you choose “межфункциональный,” make sure to provide an explanation the first time the term is used.

Incorrect translations

Once again, it is important to avoid the simplistic translations provided as examples below:

Original Correct Incorrect
For instance, a team that thinks it’s more efficient to make a decision without consulting other functions may wind up missing out on relevant input. Например, группа сотрудников может посчитать, что примет более эффективное решение, не консультируясь с представителями других функциональных областей, и в итоге может упустить из виду существенную информацию Например, один отдел может посчитать, что примет более эффективное решение, не консультируясь с другими функциями, и в итоге может упустить из виду существенную информацию
Different functions have different incentives and goals, which often create conflicts in departments. У разных функциональных областей организации разные стимулы и цели, которые часто создают конфликты на уровне отделов. У разных отделов разные стимулы и цели, которые часто создают конфликты на уровне отделов. (Too narrow and also clashes with translation of “departments.”)

More materials about terminology and other errors in Russian translations.

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.

Video: Get More Efficient with Alternative Translations in XLIFF (Translation Software OmegaT 3.1.1 Review. Part 1)

July 11th, 2014, Roman Mironov

This video is the first part of the free translation software OmegaT 3.1.1 review.

Using trans-unit ID as identifier of alternative translations in the XLIFF filter

Previously, OmegaT identified alternative translations of non-unique segments by their preceding and next segments; that is, their context. This is not always accurate enough, though, because the contexts can be identical, while the translations still need to be different. Now OmegaT adds trans-unit ID as such identifier for XLIFF files. You can choose between the Previous and next paragraphs and trans-unit ID in the XLIFF filter options. This new option makes identifying segments in those rare cases more accurate. Note that it is available for the native XLIFF filter only. And remember that unlike the Previous and next paragraphs option, this new option will result in losing all alternative translations should the trans-unit IDs change in source XLIFF files, e.g., after you or the client make changes to those files.

Moving several files in the Project Files window

You can now move several files at once when arranging their order in the Project Files window. This is helpful when you need to move, say, 20 files together.

Regular spaces can also match non-breaking spaces in search.

Previously, when you searched for several words separated by regular spaces, OmegaT did not find the same words, but with non-breaking spaces between them. This could be quite frustrating, for example, when you were making changes globally and missed occurrences with non-breaking spaces. Now by enabling the Space matches nbsp checkbox in the Text Search window, you get all results regardless of whether they include regular or non-breaking spaces.

Sorting by column in the Spellchecker window

If your language uses letters different from that of the original language, you can now conveniently sort the spell checking results and have all potential errors in your language display at the end of the window. For example, if you translate from English into Russian and keep many English words in the translation, those words will come up as spell-checking errors as well, and you will have yo go through a mixed list of English and Russian words. But if you sort by column, all Russian words will appear at the end of the window, allowing you to ignore all English words falsely flagged as errors.

The main QA script now finds untranslated and source=target segments.

Previously, these two error types were available by running separate scripts only. Integrating them in the main QA script makes it much easier to check for these errors. You do not need to remember to run those scripts separately each time.

Downloading the free translation software OmegaT

Get the new version of OmegaT now.

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

Video: Four New Time-Saving Improvements for Translators in OmegaT 3.1.0

June 10th, 2014, Roman Mironov

It is my pleasure to review a few new features in four different areas recently added to the already rich functionality of OmegaT.

Improvements in the Text Search window

Searching in untranslated and/or translated segments

The Text Search window has three new radio buttons: Translated or untranslated, Translated, and Untranslated. Enabling each of these buttons limits the search results to the respective segments. For example, if you want to find how you translated a specific term, but do not want to be distracted by the segments that are not translated yet, enable the Translated radio button.

Searching for segments with comments

OmegaT now also makes it possible to find segments that have notes associated with them in the source files. To do so, enable the In comments checkbox. For example, OmegaT will find comments added between note tags in XLIFF files.

Remove filter button

This button was moved from the Text Search window to the Editor pane, making it a lot easier to disable the applied filter when you no longer need it.

Changes in layout

The Files radio button now displays to the right of the Project radio button, making switching between search in files or in the project more intuitive. The Memory, TMs, and Glossaries checkboxes that control where exactly OmegaT performs a search within the project now have Alt+hotkeys available.

Inserting missing tag pairs

Introduced in OmegaT just recently, the function for inserting a tag pair available in the Auto-completer failed to keep the selected text when tags were around it. Now it works correctly and keeps the text within the added tags.

Improved QA script

The main quality assurance script now includes checking for different case of the first letters in segments. After running this script and noticing an error in the script window that opened, you can quickly open the segment for correction by clicking its number.

New scripts

OmegaT now ships with two scripts written by Kos Ivantsov. The Strip Tags script removes tags from matches inserted from translation memories manually with Ctrl+Shift+R. The Tag-Free Match script does the same, but also inserts the match for you. Since having two similar scripts is an intolerable luxury when the number of available shortcuts is limited to 12, I recommend using the Strip Tags script only, because even though it involves an additional manual action, it is more intuitive.

You can ask any questions in the comments below or refer them to the OmegaT user group.

If this blog post was of help to you, 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