Introducing a Great Improvement for Translation Memory: Auto-substitution for Non-translatable Elements [Updated]

6 mins read

New feature: auto-substitution for non-translatable elements in TM

This fall, we released a new beta feature — Auto-substitution, which is now successfully out of beta. The main purpose of Auto-substitution is to increase the benefit of using the Translation Memory (TM) by suggesting translations with a higher similarity match. The feature recognizes non-translatable elements (such as tags, HTML entities, placeholders, numbers and more) in translations suggested by TM and if they differ from the ones in the source string feature replaces them.

All the project members can start using the feature once the project owner or manager activates it in the project settings. If you are not the project owner or manager — ask one to help you. To activate the Auto-substitution feature go to Project Settings > General tab > scroll down to Translation Memory section > select Enable Auto-Substitution checkbox.

Enable auto-substitution in Settings

How auto-substitution feature works

To understand exactly what the feature does let’s imagine you are translating a new project from English into German. You already have a similar project translated and would like to reduce the translation costs and speed up the process by leveraging the TM. Here’s what you can find in the TM:

English: <a href=“%s”>Help</a>

German: <a href=“%s”>Hilfe</a>

Translation Memory entry

The source string you are translating now is in English:


Without auto-substitution feature enabled TM would suggest you the following translation in German:

<a href=“%s”>Hilfe</a>

Tags in this suggested translation are not the same as the ones in the source string. Which means you can’t use this suggested translation unless you copy it, substitute the tags manually, and add it as a new translation. Pre-translation in its turn wouldn’t recognize this string as a 100% match and wouldn’t add this translation.

Auto-substitution disabled in the Editor

Auto-substitution is created to improve the work of TM in cases like this one. The feature recognizes <a href='%s'> in the translation suggested by TM as a non-translatable element and substitutes it with another non-translatable element recognized in the source string. As a result, TM would suggest the following translation in German:


Now, tags in the source string and the suggested translation match. Which means pre-translation would recognize that as a 100% match and add such translation automatically. No additional manual work for you.

Auto-substitution enabled in the Editor

Non-translatable elements that can be auto-substituted

Auto-substitution feature can substitute the following non-translatable elements:

Non-translatable elements Source string example TM suggestion (German) Improved TM suggestion
Tags <b %s>Help</b> <span>Hilfe<span> <b %s>Hilfe</b>
HTML entities Currency &euro; Währung &yen; Währung &euro;
Line breaks Profile Profil<br/> Profil
Escape sequences (\r\n, \r, \n, \t, unicode, hex) Translation \x42 Ăśbersetzung \u4242 Ăśbersetzung \x42
Non-escaped equivalents of \r\n, \r, \n, \t Translated by \n TM Ăśbersetzt von TM Ăśbersetzt von \n TM
Placeholders Example %s Beispiel %1$s Beispiel %s
Numbers Attempt 2 Versuchen 5 Versuchen 2
Letter case Log in einloggen Einloggen
Special characters Help? Hilfe! Hilfe?
URLs More Information: Weitere Infos: Weitere Infos:
ICU syntax Get {discountPercent, number, percent} discount Erhalte {discountValue, number, currency} Rabatt Erhalte {discountPercent, number, percent} Rabatt

Auto-substitution for pre-translation

Pre-translation is aimed to save your time and speed up the translation process by leveraging the translations from TM or by delivering machine translations. Pre-translation via TM allows you leverage a minimum of 100% and Perfect matches. To pre-translate your project go to Project Settings > TM & MT > Pre-translation > via TM.

With Auto-substitution feature enabled, selected 100% minimum match ratio would include TM matches improved by Auto-substitution feature to 100%. Also, if you select Auto-approve added translations checkbox, you’ll be able to choose which TM translations to approve: perfect, all, or all excluding the ones improved by auto-substitution.

TM translations in the Editor

Auto-substitution for TM suggestions

The main aim of suggestions is to save time and help translators by showing how matching strings (configure minimum similarity match for shown suggestions in Editor Settings) were translated before.

With Auto-substitution feature, you would be able to see the improved matches as well. They would look like regular matches. To distinguish them look at the TM suggestions that show the match percentage before the substitution and after.

TM suggestions in the Editor

How cost reports are calculated with auto-substitution enabled

  • Costs Estimation report would include TM matches that can be improved by auto-substitution. If several TM suggestions improved by auto-substitution can be shown for the same string, only one suggestion(with the highest similarity match) would be included in the report.

  • Translation Costs report wouldn’t provide any separate stats for the TM suggestions improved with the help of Auto-substitution. They would be considered as regular TM suggestions. For example, a match improved from 75% match to 100% match would be considered a 100% match.

Go ahead and activate Auto-substitution feature to save time and money translating the project. As more translations made by pre-translation via TM, and more accurate TM suggestions mean more automation and thus faster work of translators.

Khrystyna Humenna

Previous Post
Use Screenshots to Get Translations Relevant to Your App
Next Post
Messages Become Conversations: Instantly Share your Thoughts, Ideas, and Questions in Crowdin