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

5 mins read

This week, we’re releasing a new beta feature — Auto-substitution. The main purpose of which is to increase the benefit of using the Translation Memory (TM) by suggesting translations with a higher similarity match. The feature substitutes the non-translatable elements (such as tags, HTML entities, placeholders, numbers and more) in translations suggested by TM by the ones used in the source text.

All project participants can start using the feature once the project owner activates it. If you are not the project owner — ask one to help you. To activate the Auto-substitution feature the project owner should go to Account Settings > Beta Features and select the Enable beta features checkbox.

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>

The source string you are translating now is in English:


Without the auto-substitution feature TM would suggest you this 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 suggestion unless you copy it, substitute the tags manually and add it as a new suggestion. Pre-translation in its turn wouldn’t recognize this string as a 100% match and wouldn’t add this translation.

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, you receive this German translation suggested by TM: <span>Hilfe</span>

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

Non-translatable elements that can be auto-substituted

Auto-substitution beta 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?

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, you would be able to choose a new minimum match ratio for pre-translation ~100% (TM matches improved by auto-substitution to 100%).

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.

Limitations in Beta

  • Costs Estimation report would calculate the approximate translation costs regardless of the auto-substitution feature. Which means that the strings with non-translatable elements that can potentially be substituted wouldn’t be taken into consideration.
  • 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.
  • Auto-substitution is not available for strings with ICU syntax.

Go ahead and activate the Auto-substitution beta feature to save your time. More translations via pre-translation, more accurate suggestions — all to make sure you use the TM‘s you have to the fullest.

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