ModernMT (MMT) Plugin

What is ModernMT?

ModernMT is an adaptive neural MT engine developed by Translated, the Fondazione Bruno Kessler (FBK), the University of Edinburgh and TAUS, with funding from the European Union.

ModernMT is a custom, context-aware machine translation technology that learns from translation memories and post-editing during the translation workflow. Its unique architecture allows it to adapt to the content in real-time: translators receive context-dependent MT suggestions while they work. Furthermore, it does not require any initial training or setup time; instead, it learns quickly and seamlessly from translation memories and corrections. ModernMT learns from and adapts to the text provided, guaranteeing efficient, high-quality translation processes.

This plugin provides machine translation from ModernMT for all supported language pairs. For all other pairs, Matecat will automatically select MyMemory as the machine translation engine.

How do I activate the ModernMT plugin in Matecat?

You will find ModernMT listed as one of the available machine translation systems after clicking the Add an MT engine button in the Machine Translation tab. Choose ModernMT as your machine translation provider and, if you don't have a license, then click on the green Buy Online button to purchase a ModernMT license key.

Paste your license into the corresponding input box.

Before clicking "Confirm" and activating the plugin, you have the chance to adjust three settings:

  • Pre-import your TMs: when the box is checked, all the TMs on your Matecat profile will be synced with ModernMT immediately after the activation of the plugin.
    When the box is unchecked, a TM will be synced with ModernMT the first time it is used in a project where the plugin is being used.
  • Activate context analyzer: when the box is checked, ModernMT will adapt the suggestions provided for a job based on the TMs that have been activated and it will also scan all the other available TMs for further adaptation.
    When the box is unchecked, ModernMT will only adapt based on the TMs that have been activated for the specific job.
  • Pre-translate files: when the box is checked, ModernMT will be used to obtain MT suggestions during the analysis phase (useful for obtaining the raw machine translation for whole documents); this box is unchecked by default to avoid that users with a per-character billing plan incur unintended costs.
    When the box is unchecked, ModernMT will only be used to obtain MT suggestions for specific segments when they are opened the first time.

Once you are finished adjusting these settings, click Confirm to activate the plugin.

The default MT engine in Matecat is MyMemory, so you will need to enable ModernMT at the creation of each project if you want to use it for that project.

Supported languages

Currently, ModernMT supports 200 languages and all the combinations between them.

The updated list of supported languages is available here

Enable ModernMT memories

To improve the quality of its output for your translation project, ModernMT allows you to select which memories it should use for adaptation purposes. Depending on your plugin configuration, ModernMT might use all your translation memories or only the ones you have already used in conjunction with ModernMT in at least one project .

Please note that ModernMT memories are multilingual so it is not necessary to create different TMs for different language combinations. We suggest distinguishing your memories per subject or client.

You can select specific translation memories for ModernMT to use in your project. If you have activated the context analyzer feature while setting up the plugin, ModernMT will also automatically pick the most appropriate ones for the current job among all those you own.

It is possible to set multiple Translation Memories (TM) in update mode. However, it is recommended to opt for this only if you need to save segments in different TMs that will be used in different translation projects. It is better to avoid saving duplicates in TMs that are typically used for the same projects.

ModernMT Glossaries

It is possible to further customize ModernMT by using glossaries to improve the accuracy and quality of the machine-translation output. Matecat allows its users to create, manage and activate ModernMT glossaries from its own interface.

In order to access the glossary options, open the Machine Translation tab of the settings panel, activate ModernMT for the current project and click the "Glossary options" button at the bottom.

If any glossaries are already available, they will be shown in the dedicated list.

Creating a new glossary

In order to create a glossary, click the "+ New" button at the top of the list (or the "+ New glossary" button if you don' have any available glossaries yet).
Matecat will ask you to enter a name for the glossary and choose an xlsx file to upload:

Once the name has been entered and the file chosen, the "Confirm" button will activate, click it to create the glossary:

Managing glossaries

You can rename and delete existing glossaries and update their content by uploading a new file:

  • To delete a glossary, click the trash bin icon in the corresponding line.
  • To rename a glossary, click the pencil icon beside its name. This will activate the text box to allow you to enter a new name and press the "Confirm" button when you are done.
  • To update a glossary's content, click the "Update button", choose a file from your computer and confirm your selection

ModernMT glossary file format

ModernMT supports two glossary formats: unidirectional and equivalent-terms.

A unidirectional glossary essentially functions as a dictionary that maps a term from a source language to its designated translation in the target language. The xlsx file must consist of two columns: the first column represents the source term and the second column represents its translation. The file's first row acts as a header that denotes the language code for each column. For the file to be valid, no additional columns should be inserted and all rows should have terms for both languages.
Here's an example of a correctly formatted unidirectional file:

You can download the file as a template for your glossary by clicking here.
Using this glossary would ensure that the English word "test" is consistently translated to "prova" in Italian. However, the reverse translation would not be enforced (as the glossary is unidirectional).
If you update a glossary by uploading a unidirectional file to it, the previously-existing content will be erased and the glossary will only include the content of the newly-uploaded file.


An equivalent-terms glossary works like a multilingual dictionary, providing corresponding terms across all the specified languages. The xlsx file must be composed of at least three columns: the first column must contain the tuid (a string identifier), while the remaining columns represent the different languages that the file includes. The file's first row acts as a header that denotes the tuid followed by the language code for each column. Empty values are permissible for fields other than tuid, but each row must have at least two terms. The tuid serves as a unique identification for each group of equivalent terms in the glossary and is required to update specific entries.
Here's an example of a correctly formatted equivalent terms glossary file:

You can download the file as a template for your glossary by clicking here. Using this glossary would ensure that any term in a particular row is consistently translated into the right term in another language, provided the term is not empty (e.g. translating "Glossario" from Italian to Spanish would result in the application of the ModernMT glossary term, while translating Italian to French wouldn't result in the application of the glossary, since no entry is present for the French column on that glossary row).
If you update a glossary by uploading an equivalent-terms file to it, the previously-existing content will be updated if a matching tuid is found and rows with new tuid's will be added to the glossary.

Using glossaries for translation

In order to employ one or more glossaries for the project you're creating, check the box under "Activate" in the relevant row. You can decide that glossary matching should be case-sensitive by checking the relevant box; if you activate this option and your glossary includes a translation for "Cat", it will only be applied when "Cat" is found with an initial capital letter.

More information about MMT

You can find more information on MMT at http://www.modernmt.com. If you need help, please get in touch with support@modernmt.com.