What is SmartMatch?
A SmartMatch is a content routing settings that occurs when a new source string matches perfectly a unit in the Translation Memory. However, unlike 100% matches, SmartMatches require additional metadata, such as tags, placeholders, variants, whitespace, and capitalization (case-sensitivity), to be an exact match. Also, unlike 100% matches, SmartMatch allows your content to skip the translation step completely, allowing for significant cost and time savings, while ensuring translation consistency.
How SmartMatch Works
When SmartMatch is enabled, once new content is authorized for translation, content moves into the Processing step where SmartMatch initiates, and automatically checks your Translation Memory for an exact match. If an exact match is found, it is automatically applied and the string skips the translation step and moves to the step configured in the SmartMatch Rules - no human effort is required.
All SmartMatch strings write to the Translation Memory, regardless of the result configured.
Account Owners and Project Managers can customize SmartMatch behavior with SmartMatch Rules, and it can be customized for each Translation Memory source within a leverage configuration. Once a translation memory source is created, you can then enable and configure SmartMatch.
How to Enable SmartMatch
- Go to Account Settings > Linguistic Assets.
- From the list of Linguistic Packages, click the name of the package to enter the Linguistic Package
- Under Leverage Configuration, click the name of the configuration you want to customize.
- In the list of translation memory sources, under SmartMatch, click Disabled/Enabled. This opens the SmartMatch Settings dialog, where you can configure SmartMatch Rules.
- Select a result for each SmartMatch rule from the dropdown.
- If you choose First Revision Step, you have the additional option of selecting or deselecting Enable Pre-Publish.
- Click Save Changes to put the customizations into effect, or Cancel to exit.
SmartMatch Rules
SmartMatch has different levels of precision. The following rules allow you to consider the context in which the previous translation was used, as well as some formatting elements like spaces or upper and lower case letters.
Rule | Use Case | Example | |
1. | Text with variant: Text exact match and variant exact match |
When you want strings with the same text, variant, inline tags and placeholders to SmartMatch. Note: A string with no variant can match with a string with no variant with this rule. |
This setting is typically used to limit SmartMatch to strings that have not only the same source text, but also the same variant as the existing Translation Memory entry. This ensures that translations are only reused by SmartMatch if they were used in the same context or referring to the same meaning. |
2. | Text without variant: Text exact match regardless of variant | When you want strings with the same text, inline tags, and placeholders to SmartMatch, regardless of the string variant. | This SmartMatch setting can be used to apply a previous translation if the exact same text has already been translated before, regardless of the context which the previous translation was used in. |
3. | Text ignoring whitespace: Text exact match and ignore all whitespaces |
When the strings have identical sequences of characters, including inline tags and placeholders, and you want them to SmartMatch, regardless of differences in whitespace. This rule excludes non-breaking space, as this is considered a character. Note: Smartling will apply the SmartMatched translation while maintaining the whitespace from the source. |
For example, this rule will allow the following to SmartMatch:
"Open box" "Open box " |
4. | Text ignore markup: Text exact match and ignore markup |
When you want strings with the same text, quantity, order of inline HTML tags and placeholders to SmartMatch, regardless of differences in HTML tag values. |
If a string contains HTML inline tags (e.g. formatting tags), the regular SmartMatch settings "Text with/without variant" only work if the tags are identical between the source string and the Translation Memory entry. Identical tags, same position in the string. For example, this rule will allow the following to SmartMatch:
Identical tags, different position in the string. For example, this rule will allow the following to SmartMatch:
Different tags, same position in the string. For example, this rule will allow the following to SmartMatch:
The amount of HTML tags used, together with the structure of the string (text-tag-text-tag) is how SmartMatch is evaluated for this rule. Different quantity of tags: "Welcome to <b>Smartling</b>" TM translation: "Welcome to Smartling" This string will not SmartMatch because it has a different quantity of tags. "Welcome to Smartling" TM translation: "<b>Welcome to Smartling</b>"
|
5. | Text ignore case: Text exact match and ignore uppercase and lowercase characters |
When you want the text to SmartMatch, ignoring differences in uppercase, lowercase or camel case spelling. Note: If this setting is enabled, SmartMatch may apply lowercase translations to an uppercase source string, and vice versa. To avoid polluting your Translation Memory, we would recommend using a revision step for this SmartMatch setting, so any differences in capitalization can be corrected by a linguist. |
This SmartMatch setting applies an existing translation from the Translation Memory, even if the new source string uses different capitalization. For example, this rule will allow the following to SmartMatch: en-US: "HELLO" fr-FR: "BONJOUR" en-US: "hello" fr-FR: "BONJOUR"As illustrated in the above example, if the new source uses lowercase spelling, but is matched against a capitalized string, the SmartMatched translation will also be capitalized. |
6. | Match any: Any combination of ignore whitespace, markup, or case |
When you want the text to SmartMatch, ignoring both case and whitespace. Note: Only the source whitespace will be maintained in the translation. When you want the text to SmartMatch, and ignore differences in case, whitespace, and markup as described in rule 4. |
For example, this rule will allow the following to SmartMatch:
"Open box" "open box" |
7. | Text remove markup: Text exact match when all markup is removed |
When you want strings with no markup to SmartMatch with previous translations that have the exact same source text, but do contain markup. |
Any new strings which do not contain markup (HTML tags, including line break tags) will be compared to TM translations with markup. If a text-exact match is found, even if there is markup present in the TM translation, it can be used as a SmartMatch. The new translation will have all its markup stripped, so the result will be a translation with no markup. For example, the "Text remove markup" setting allows for this match: Project string: "Welcome to Smartling"TM translation: "Welcome to <b>Smartling</b>" This is a complement to the setting "Text ignore markup." |
7. | Restore translation: Exact match for previously removed unpublished translations |
This SmartMatch option enables you to recover translations that were saved, but removed while they were still in progress. If strings were unauthorized or made inactive before they reached the Published step (e.g., due to cancelling a job, stopping translation, or deleting/updating a file), but then need to be translated again at a later point, this setting can be used to restore the previous, unpublished translation. Note: As the original translation was not fully published and completed, is recommended that this SmartMatch option is set to one of the following; First Revision Step: Edit, Review, or Holding. |
This setting is typically used if a translation was cancelled, stopped or removed by mistake before it reached the Published step. If the exact same string (with the same source text, variant and file namespace) is authorized for translation again, this setting will apply the previous, unpublished translation. As the translation had not gone through the full workflow previously, we would recommend SmartMatching restored translations to a revision step, where they can be approved or amended if needed. |
SmartMatch Results
Each SmartMatch rule can be enabled with one of the following results.
- Published: SmartMatched strings bypass all workflow steps and will immediately be published.
- First Revision Step (Review): SmartMatched strings will jump to the first revision workflow step with primary action "Review," bypassing all previous workflow steps. If there is no such workflow step, matching strings will bypass all workflow steps and immediately be published.
- First Revision Step (Edit): SmartMatched strings will jump to the first revision workflow step with primary action "Edit," bypassing the translation workflow step. If there is no such workflow step, matching strings will bypass all workflow steps and immediately be published.
- Workflow steps with the step type "Post-Edit" are not included in this setting. To send SmartMatches to a "Post-Edit" step, use the First Revision Step (Edit, Review or Holding) setting.
- First Revision Step (Edit, Review or Holding): SmartMatched strings will bypass the translation workflow step, and will be sent to the first revision step in the workflow. This may be a Review, Edit, Post-Edit or Hold step type. If the workflow only contains a Translation step, matching strings will immediately be published.
- First Hold Step: SmartMatched strings will jump to the first Hold step on the workflow. If there is no Hold step on the workflow, the SmartMatched strings will jump to Published.
- Last Revision Step (Edit, Review or Holding): SmartMatched strings will be sent to the revision step directly preceding the Published step. This may be a Review, Edit, Post-Edit or Hold step type. The result depends on the selected workflow for each locale. If the workflow only contains a Translation step, matching strings will immediately be published.
- Disabled: If you prefer not to use SmartMatch for a given Translation Memory, ensure that all SmartMatch Rules are set to Disabled and then click “Save Changes”.
- When SmartMatch is Disabled, your translators can still see suggestions from this Translation Memory, but SmartMatch will not automatically move the content to a different step.
When choosing to send content to any Revision Step or Hold Step results (2-6 above), you can also choose to enable pre-publish. This feature is useful if SmartMatched content remains in a Review, Edit or Hold step longer than desired. Enabling this setting will allow SmartMatched content to "prepublish" so translations are available to use and are visible in their destination (e.g. on a website via the GDN) before reaching the Published step of the workflow.
Considerations
Checks Continuously
SmartMatch runs continuously on untranslated strings that are in progress. This happens not just the moment strings are authorized, but also after they have been authorized. More precisely, after a translation is published or prepublished, it checks to see if untranslated strings that have been authorized for translation could SmartMatch from the newly published translation. However, this is not guaranteed to be instantaneous. Therefore, SmartMatched strings may appear in the Processing or Translation step briefly.
SmartMatch is a String-Level Action
In order for SmartMatch to kick in, you need to have a translation available in your Translation Memory for the entire string. If a translation is not found for the entire string, SmartMatch attempts to find a match for each segment separately. If matches are found for all segments, then SmartMatch is deemed successful.
If there is an existing translation available for just one segment, SmartMatch won’t work. This is to avoid SmartMatching only one sentence within a paragraph, out of context.
Only Previously Published Translations Will SmartMatch
SmartMatch only works if your previous translation has been fully completed and is sitting in the Published step. This ensures that we don’t automatically reuse translations that that have not previously gone through the full workflow and reached the Published step.
How SmartMatch Handles Plural Strings
Smartling supports two CLDR forms for English: ‘One’ and ‘Other’ (corresponding to the singular and plural forms in English grammar). SmartMatch only uses the ‘Other’ form to find matches for plural strings. This means that if a TM Match is found for the ‘Other’ form, SmartMatch will apply all form translations from the TM Match, even if the ‘One’ form does not match the ‘One’ form of the new source string. This can sometimes lead to the wrong number of placeholders or text being applied by SmartMatch for the ‘One’ form.
SmartMatch does not match different source forms for many reasons, mainly because forms mean different things in different languages, and some forms may or may not exist in various languages. For this reason, SmartMatch relies on matching using the only form required for every language: the ‘Other’ form.
Translation Memory Quality
As SmartMatches bypass your translators completely, they can only ever be as good as the translations stored in your Translation Memory. This means that the quality of your previous translations is a critical factor to consider.
Think of SmartMatch as a magnifying glass on translation quality. If your Translation Memory contains great quality translations, SmartMatch will help you re-use them at a larger scale and reduce the risk of incorrect re-translations. On the other hand, if your Translation Memory contains poor or even incorrect translations, SmartMatch will keep propagating any mistakes that your translators may have made in the past.
For this reason, SmartMatches should only be sent directly to the Published step if you can fully trust the quality of your Translation Memory. If you are unsure about the quality of the translations stored in your translation memory, it is recommended that SmartMatch Rules are set to an Editing or Review step, so a human can validate that quality.
Workflow Setup
When SmartMatch Rules are set to an Editing or Review step, ensure this step type is set up in your workflow. If your workflow does not have this step type configured, SmartMatch will automatically publish any matches.
Is it On or Off?
The link text (Enabled or Disabled) indicates whether at least one SmartMatch rule is currently enabled or disabled for the Translation Memory source.
Your Goals
If enabling the Restore translation: Exact match for previously removed unpublished translations rule, consider selecting the First Revision Step (Edit, Review or Holding) result to minimize the probability of an incorrect translation being copied to multiple strings.
Set all SmartMatch rules to Published to maximize cost savings and time-to-market benefit. Selecting First Revision Step and Enable Pre-Publish also maximizes time-to-market benefit.
Recheck for SmartMatches
SmartMatch compares authorized but untranslated strings against existing translations in your leverage configuration to automatically apply translations. If your project is configured to use SmartMatch, strings are checked for a SmartMatch when they authorized.
However, there are times when you might want to recheck your authorized strings for a SmartMatch. Examples are:
- You've imported translations or added a TM after the strings were authorized.
- You've enabled or updated SmartMatch settings since the strings were authorized.
Rechecking SmartMatch checks what matches exist currently in the TM for untranslated strings.
To recheck strings for SmartMatches:
- Go to the Strings View
- Select the string(s) you want to recheck for SmartMatches
- Click Actions > Recheck for SmartMatches
Strings must first be authorized before they can be SmartMatched.
SmartMatch Reporting
Account Owners and Project Managers can get a data visualization of the number of SmartMatches across the entire account with the SmartMatch Leverage Report.
Video Tutorial
Timestamps:
What is SmartMatch? 00:14
How does it work? 02:55
Important considerations 03:43
➤ SmartMatch is a string level action 03:57
➤ SmartMatch only uses (pre)published translations 04:32
➤ The quality of your TM matters 05:17
➤ Your workflow needs to match your SmartMatch configuration 06:24
How to configure SmartMatch 06:43
a. How to disable SmartMatch 07:23
b. How to enable SmartMatch 07:44
➤ Main settings: Text with variant / Text without variant 07:51
➤ 4 additional settings to ignore formatting elements: 11:24
• Text ignoring whitespace 12:06
• Text ignore markup 12:54
• Text ignore case 15:55
• Match any 16:55
➤ Restore Translation 17:45
Enable Prepublish: How does it work? 20:07
When does SmartMatch kick in? 20:58
➤ When new content gets authorized 21:05
➤ Continuous SmartMatch 21:24
Troubleshooting: Reasons why a string might not SmartMatch
There are several possible reasons why a string with a matching Translation Memory entry might not SmartMatch. If you expected a certain string to SmartMatch but it didn't, please check the following:
- Has the string been authorized and gone through the Processing step?
SmartMatch only kicks in once a string has been authorized, in the Processing step of the translation workflow (or in the Translation step, as a result of Continuous SmartMatch). - Is SmartMatch enabled in the Linguistic Package?
SmartMatch only works if it is enabled for the Translation Memory which contains the matching translation.
In the CAT Tool, you can use the Language Resources panel to check which Translation Memory the match originates from. - Are all criteria for the enabled SmartMatch setting(s) met?
If one or more criteria are not met, SmartMatch does not kick in.
For example, SmartMatch might be enabled for "Text with variant" only but the string might use a different variant from the matching Translation Memory entry.
The variant of the Translation Memory entry can be checked in the Activity log. - When was SmartMatch enabled?
If SmartMatch was enabled only after the string was authorized and went through the Processing step, then it will not kick in automatically. Instead, it needs to be triggered manually from the Strings View, by selecting the action "Recheck for SmartMatches". Once you recheck for SmartMatch, the latest SmartMatch settings will be taken into account. - Does the string already have a saved translation?
SmartMatch only applies a translation to strings which do not have a saved translation yet. It does not overwrite any existing, saved translations. - Is the matching Translation Memory entry published?
As a precaution, SmartMatch only works if a TM entry is "published". This means that the original translation has either reached the Published step, has been pre-published or imported from a TMX file. Unpublished translations are not used for SmartMatch, since they are still in progress and subject to change. The status of the matching TM entry can be checked in the CAT Tool, under "Language Resources". - Is there a matching translation available for the entire string?
In the CAT Tool, a string might be split into multiple segments, if it contains more than one sentence. If a match is available for a certain segment only (but not for the entire string), SmartMatch will not kick in. SmartMatch always works on a string level, not on a segment level. - Are any placeholders missing in the translation?
If a string contains placeholders for variable elements, SmartMatch only works if the translation uses the same placeholders as the source text. If any placeholders are missing in the translation, which is stored in the TM, that TM entry cannot be used for SmartMatch. - Does the translation exceed the character limit?
If there is a character limit set up for a string, SmartMatch only works if the Translation Memory entry does not exceed that limit. This is an important precaution to avoid any UI or formatting issues.