Introduction to Translation Memory

Learn about what Translation Memory is and how it works.

Jacob avatar
Written by Jacob
Updated over a week ago

Transifex has a built-in Translation Memory (TM). TM is a powerful tool that helps with translation quality and consistency. It can even save you money by reducing the repeat and new work a translator must do.


How Translation Memory Works

Without going into too much technical detail, Translation Memory is a database of previously completed translations. Each time a translation is submitted, it's saved to this database. If your content contains pluralized strings, these types of strings and all their forms are also saved in your Translation Memory. You can also set only the reviewed strings to be added to this database. In the future, if a phrase similar to the original source string appears, the translation is presented to the translator as a suggestion. Let's look at an example.

Say we have one string in our file: "It is sunny and warm in California." When we translate it, the translation is automatically saved to the TM. Then, we add another string to the file: "It is sunny and warm in Greece." When the translator goes to work on the new string, they'll see the translation for the first string as a suggestion. While the two strings are not exactly the same, they share a lot of words – both contain the phrase "It is sunny and warm in." By seeing the suggestion, the translator can translate the new string quickly while keeping it consistent with the other translation.

This concept of looking at two phrases that are similar but not exactly the same is known as fuzzy matching.

Sometimes, you may have two phrases that are exactly the same. This is known as a 100% match. Most of the time, if one of the phrases was already translated, you can reuse the translation for the other phrase.


Translation Memory in Transifex

Each project in Transifex has its own Translation Memory (TM) instance. It is updated whenever a new translation is submitted. All these translation entries are automatically stored in your project’s TM, whether they have been marked as reviewed or translated. As an option, it is possible to update a TM Instance only when a new translation is reviewed. This option appears in the project settings under the workflow tab.

An exception is that automatically machine-translated strings are added to your TM only when marked as reviewed. The same is true for strings that were machine translated in bulk (by selecting multiple strings within the Editor).

When a new project is created, a TM is automatically generated for this project.

To have a shared TM across multiple projects, you must create a TM group, as described here.

Translation Memory suggestions can be exported and imported in a TMX format, allowing you to update your project’s TMs massively. Please note that no saved translations are deleted from the TM until the maintainer manually removes them from the TM or overwrites the existing TM with an updated version of a TMX file.


Sharing TM across locales - Suggestions

To stop TM from showing in the editor suggestions from languages with the same country code but different locales, you need to turn off the relevant option. You may find this option in your project settings, under the workflow tab, in the translation section.

share_tm_across_locales_setting.png#asset:9157

For example, when translating fr_FR, you will see suggestions from the fr locale, too, unless you turn off this functionality for the specific project. Such suggestions are displayed in the editor as follows:

share_tm_across_locales_editor.png#asset:9158

As long as this setting is enabled, Transifex will show suggestions following the priorities below:

  • Similarity %

  • Context match

  • Project priority

  • Language (editor language has priority)

  • Last used

So, if we have two suggestions with 98%, both with the same context, then the editor language has priority, and this is the TM suggestion that will be shown first.


Sharing TM across locales - Fill-ups

When TM fill-ups are enabled for a project, if there is an untranslated string in a target language like fr_FR, Transifex will look in your TM entries of that language to find an identical string and automatically apply the last updated translation found. If there is no 100% match, the fill-up process for the specific string ends.

Some projects may have multiple languages with the same country code, like fr and fr_FR. A string might be translated into one language but not into the other. To allow TM fill-ups to look in similar languages too, you need to enable the respective option on your project's settings under the workflow tab in the Translation Memory Fill-up section as shown below:

Screenshot-2022-01-27-at-3.36.05-PM.png#asset:9965

So, in the scenario described above, if no 100% matches are found in the fr_FR target language, and the Translation Memory Fill-up setting across locales is also enabled, then the system, as a next step in the fill-up process, will look in the TM entries of similar locales (like fr, fr_BE, fr_CA) added to your project. Once a match is found (the most recent translation has priority), the translation in that language will be used, and the string in fr_FR will be translated automatically by TM.

This option applies to all languages by default. Sharing Translation Memory suggestions across similar locales can be highly beneficial. However, there might be cases where specific locales need to be excluded and shouldn't share the same Translation Memory suggestions with others like zh_TW and zh_CN. You may exclude one or more languages from sharing their TM by adding the desired languages as shown below:

Exclude_languages_from_sharing_TM.png#asset:10271

Excluding a locale means that the specific locale:

  • won't contribute to similar locales' fill-ups or Translation Memory suggestions

  • won't get Translation Memory suggestions from other similar locales


How to only allow reviewed translations into the TM

  1. From the Dashboard, click on the project you want to enable TM fill-up.

  2. Click on Settings.

  3. In the submenu, click on Workflow.

  4. Enable the Allow only Reviewed translations in the Translation Memory option in the Quality Assurance step.

📝How it works: The "Allow only reviewed translations into the Translation Memory" setting will only take effect for reviewed strings after this setting is activated.

This feature is only available on Enterprise Plus plan.

🤖Machine Translations: Machine Translations are not affected by this setting; they must always be reviewed to enter Translation Memory.


What happens if a language/resource/project is deleted

  • If you delete a language or a resource(s) from your project, all the TM entries will be preserved and available as TM suggestions for future translations.

  • If you delete the whole project, translations for that project will be deleted from the TM, so those TM suggestions will not be available for future translations.

  • If you archive a project, the project’s TM suggestions will still be shared with other projects if the archived project belongs to a TM group.


TM Leverage

The unit of storage in TM is a segment (also referred to as a string), not a sentence. A segment might contain one, a few, or many sentences - depending on the structure of the source file.

TM compares a new segment with the segments that it has in its database. Then, it identifies the similarity match. If the similarity match is 60% or higher, those segments will appear for a translator in the “Suggestions” tab.

Information about the TM leverage before the translation process starts is available under Reports>Export TM Leverage:

or in the pop-up window for each resource on a language level:

tm_leverage_pop-up.png#asset:9380


Export TM Leverage

That report returns Translation Memory Leverage information about already translated strings where post-editing is required, as well as untranslated strings.

This information can be extracted on a project, resource, or task level, but if you are using tags to group your content, you can also request TM leverage information for strings tagged with one or multiple tags.

That way, you can estimate the effort your translators need to put into delivering translations for the strings you are interested in and the translation cost of the work that needs to be done based on your translation agency's rates.

Generate report

You can click on the Generate CSV to download the TM leverage report for all the strings that meet your selected criteria. You will receive the file in your email to view or further edit it. The CSV file will contain TM leverage information about translated and untranslated strings.

You may click on the arrow to view two extra download options:

  • Translation leverage report: The generated CSV file will contain TM leverage information for your untranslated strings that meet your set criteria.

  • Edit leverage report: The generated CSV file will contain TM leverage information for your unreviewed content that meets your criteria to see how much your translators can rely on the Translation Memory while reviewing the specific translations.

Detailed statistics about how much TM leverage was used during the translation process can be found in the Translation Activity Report.


Old Translation Versions

When a newer version replaces an existing translation and is not used anymore in a project or projects belonging to the same TM group, then this old version is no longer exposed as a suggestion in Transifex Web Editor.

A translation version is not removed from the TM when:

1) The corresponding translated source string is removed/deleted from the resource.

2) The source text is updated. In this case, the string returns to the untranslated state, but the translation of the previous version is still part of the project's TM suggestions.


💡Tip

Looking for more help? Get support from our Transifex Community Forum!

Find answers or post to get help from Transifex Support and our Community.

Did this answer your question?