Translation Memory

Translation Memory Management

What is a Translation Memory?

A Translation Memory is a cloud-based database of all translations that have occurred within your Smartling account, as well as any translations that you may have imported to Smartling. Translation Memories are used to leverage (or read from) previously used translations with new source content - allowing for cost savings, time savings, and translation consistency. As translations are saved, they write to a designated Translation Memory.

Already have Translations? Import them to Smartling!

If you already have a database of translations, perhaps a Translation Memory from another TMS, you can import pre-existing Translation Memories in a TMX file, which is an industry standard file format. You can also import a resource file of translations. See Importing Translated Resource Files for more information.

How translations enter the Translation Memory

Once a translation is saved, it is stored on the Translation Memory as a Translation Unit. A Translation Unit is the source string and translation entry in the Translation Memory. The Translation Unit is shared across all projects writing to the same Translation Memory.

Only the most recent 200 translations of one translation unit are saved in the TM.

Translation Memory Management

Smartling's Translation Memory Management (TMM) is a powerful feature, allowing you to manage your database of translations, from the Smartling dashboard. TMM give you the ability to move content between TM's, delete content, export content, as well as insight into the history of a string within a TM.

Smartling's TMM also supports advance search, meaning you can now perform a basic term search, exact match search, and regex search.

This article includes:

Access Translation Memories

Account Owners and Project Managers have access to all Translation Memories for all projects in the Smartling account. To access the Translation Memory list:

  1. Go to your Account Settings > Linguistic Assets
  2. Click Translation Memories on the left panel

Here, you will find all Translation Memories in the account listed, together with its source language, and total string count.

From this list, you can:

  1. Search for a TM, by entering the TM name
  2. Change the view from list to grid
  3. Sort the list by name or string count
  4. Create a new TM
  5. Enter any TM, by clicking the TM name

Click the ellipses under Actions to find the following options:


Create a Translation Memory

Within Smartling, you can create an entirely new Translation Memory or import a TMX file into an existing Translation Memory.

To apply a TM to a leverage configuration, see Configure Translation Memory Leverage.

Import a TMX File

A Translation Memory Exchange (TMX) file is a format used for exchanging Translation Memory data created by a CAT Tool. TMX files are useful when you're migrating from another tool or process, to Smartling.

TMX files contain XML-formatted text that describes a map. As long as TMX follows the right TMX standards, it can be directly imported. It is important to remember that language codes (locale codes) are case-sensitive, so ensure that the languages in your TMX file contains locale codes as seen in our Supported Languages document.

To import a TMX into a Translation Memory, under Actions, click the three dots and select Import TMX File. For more information on TMX files, see Upload a Translation Memory.


For subsequent imports of the same TMX file, with the same naming convention, the previous TMX import will be overwritten. 

Export TM

You can export a TMX file of an existing TM.

Choose for the TMX to include the following TM entry metadata:

  • segment-id
  • string-variant
  • tm-uid
  • project-uid
  • authorizer (UID)
  • authorized-date
  • translator (UID)
  • translated-date
  • key
  • hashcode
  • file
  • url

The metadata can be pulled from when the TM entry was first translated or when it was last translated.

  • First Translated project strings: describes the first time that a translation had been written to this TM from a project. This is useful if you’re looking for older translations that were written to a TM.
  • Last Translated project strings: describes when the last time a translation had been written to this TM from a project. This is useful if you’re looking for any translations in a TM that had been recently used or updated.

A download link for this export will be sent to your user email address. Larger TM's may take some time to deliver and download.

View TM Details

To view the details of your translation, click the more icon and select Details. You'll be able to view details about the following:

  • Created By
  • Created On
  • Last Modified By
  • Last Modified On
  • Active Package (with a direct link to it)
  • Leverage Configuration (with a direct link to it)
  • Target Language (and the number of strings/words associated with it)
  • Strings
  • Words


Rename a TM

To rename a Translation Memory, click the more icon and select Rename. Enter a new name and click Confirm.

Delete a TM

Deleting an entire TM is permanent and will affect all projects leveraging the TM. Ensure to export the TM before you delete it.

If you think you may want to recover this content in the future, as a workaround, you could create a TM, name it something like "Deleted Content", and then move the unwanted content to this TM.

Click the ellipses beside the TM that you wish to delete, and select Delete TM

The Delete Translation Memory dialog will appear. In this example, the TM is still being used by a linguistic package. 


If the TM is not being used by a linguistic package, you'll be prompted to confirm the deletion.

Enter a Translation Memory

Click the name of any TM to enter, view, and action its content, or translation units.

Translation units are displayed in a list containing the source string with translations, the target language, the last translated timestamp, and a link to view the translation unit's activity.

Search is not case-sensitive. There are three search options:

  1. Keyword: a standard search
  2. Character: search for a TM entry with exact character match
  3. RegEx: search for TM entry using regex (contact your CSM to enable this search type)

Smartling will only return the first 10,000 string results. This limit exists both in the UI and API. 


The keyword search option behaves the same way as our existing search. A search for “running”, for example, will return results that include “running”, “run”, “runner”, and other variations of the search term.


Character search returns strings that include the exact characters in the search string, including punctuation, HTML tags, etc. A search for “running” would only return strings that include “running” and would not return strings that include “runner”, “run”, or other variations.

Regular Expression (Regex)

Regex is a powerful system for defining search patterns. With the Regex tab, you can enter a Regular Expression for either source or target strings. Smartling will use the provided Regex search pattern to return results. For example, you could search for strings that begin with “Running” by entering “^Running”, strings that end with “Running” by entering “Running$”, and anything in between! You can find a quick overview and cheat sheet for Regex here.

Regex search is asynchronous. Please allow some time for your search results to be returned. A search progress bar will display across the top of the results section. See limitations for more information.

Searching with RegEx also includes a progress indicator to highlight the progress of the search return. If you change a searched character or filter value mid-search, you will be asked if you would like to stop the existing search and start a new one.

If you open a new tab and attempt  a new search in parallel, this will stop the initial search.

RegEx Search Limitations

Limit One Simultaneous Search Per User

Because a search on large TM's, can be very intensive, there is a limit of one active search per user. If you have a search running and begin a new search in a separate tab, the original search will stop automatically. 

Limit Two Simultaneous Search Per Account

There is also a limit of five active searches per Smartling account to prevent performance issues. If five other users in your account are already running searches, but depending on the size of your TM's and the currency running searches, you’ll see an error message. However, you should be able to retry relatively quickly. 

Search Link Expiration

To prevent re-running complex searches, Smartling search results via a search UID in the URL. This URL can be shared between Account Owners and Project Managers without having to wait for lengthy searches to complete. Smartling will clear these cached search results every seven days. If you visit the URL of a search that is no longer cached, Smartling will rerun the search. However, bear in mind, the search results returned may be different after seven days.


There are several ways you can search or filter for a string:

  • Keywords: Source or target keyword
  • Languages: Target language
  • Project: Project name
  • Translation Activity: Authorizer, Date Authorized, Translator, First Translated by, Date Translated
  • String Metadata: Variant, Key, Hashcode
  • Content Sources: File, URL, TMX File

Example search: Want to find content translated by a certain user in a specific date-range? Use the Translator and date translated filters. Refine the search further by filtering by target language and project name.

Filters (Classic)

  • Keywords: Source or target keyword
  • Languages: Target language
  • Linguist Action: Name of the user who last saved or authorized the string
  • Dates: Date last authorized or date that the translation was saved
  • Project: Project name
  • String Metadata: Variant, Key
  • Content Sources: File, URL

Search Multiple TM's At Once

You can search multiple translation memories at once. When you select a TM, you'll see on the left-hand side of the page that there's a Translation Memories dropdown menu where you can select all TM's or just certain ones from which to search. 


If there are TM's containing different source languages that are being searched, the Move and Export actions will not work. For example, if you're attempting to move or export strings from an English (USA) TM to an English (UK) TM. Of course, if all TM's have the same source language, then Move and Export are possible.


You can move content to another TM, export content from a TM, and delete content within a TM. If the same string is stored in multiple TM's, you will need to move, delete, or edit in multiple TM's. 


Move Content to Another TM

Search or filter for strings that you want to move to another TM with the same source language, then select the strings and click ActionsMove. You'll be prompted to select the appropriate Translation Memory.

Export Content From a TM

Search for strings that you want to export from the TM, then select them and click ActionsExport. You can export an entire Translation Memory or only export a portion of a TM based on specific search criteria. For example, you might search for only content that was translated in the last six months, and export that as a TMX file. 

To export an entire Translation Memory, without having to click on each individual string, go to your full list of TM's. Click the more icon and select Export TM. All strings within that TM will be exported. An email will be sent to your email address with a link to download the generated TMX file. 

Delete Content Within a TM

Occasionally, you may want to pare down your Translation Memory to ensure that only the most appropriate content is in it. Search or filter for strings that you wish to delete from the TM, and click ActionsDelete. You'll be prompted to confirm the action.

Deleting individual strings is permanent, and will affect all projects leveraging the TM. (If you think you may want to recover this content in the future, as a workaround, you could create a TM, name it something like "Deleted Content", and then move the unwanted content to this TM.) In the future, if the same translation appears again, and is saved, it will be added back to the TM.

Find and Replace

Find and Replace allows you to change large numbers of Translation Memory entries at once, using character search. This function applies to active strings only, inactive strings will not be changed.

To use Find and Replace:

  1. Search for the word you’d like to replace by using the Translation filter. Please select the search option "character". 
    If you would like to narrow down your search by entering also a Source String, please use the character search for this filter, too.
  2. Select the strings you’d like to replace.
  3. Click on the Actions button and choose Find and Replace. 
  4. In the resulting modal that pops up, fill in the replacement wording in the Replacement Text field.
  5. You may optionally choose to update project strings.
  6. Click Replace.



If multiple strings are selected, it may take some time to calculate the number of strings that will be replaced. This is because Find and Replace is more precise in choosing text than the standard Target Keyword search, and does its search through all selected strings to ensure only the exact characters are replaced.

The Find and Replace modal will continue to pre-fill the "Find" field with the target word, characters, or Regex. Keep in mind that Find and Replace runs using character search only

This means:

  1. You cannot Find and Replace using Regex searchScreenshot_2021-10-11_at_16.58.50.png
  2. Find and Replace will only run on a subset of keyword search results
    • In a search for "run", strings with "running" may be included in the results, but Find and Replace would only replace exact character matches for "run". 

To prevent unintentional widespread changes, and to give you better visibility into the strings that will be updated, the Find and Replace function in only enabled if you do the following: 

  1. individually select one or all strings on a page and/or
  2. use character search with any active keyword searches, for example
    1. source is blank; translation is character search
    2. source is character search; translation is blank
    3. source and translation are character
    4. any other combination means find and replace is disabled

Bulk Replace

To do a bulk replace, select all strings on the page, then click “Select all strings matching current filter”.



When hovering over a Translation Unit, you’ll see a link to “Edit Translation”. Clicking this link allows you to edit one string at a time.


There are no quality checks that are performed here, like there are when editing in the CAT tool.

You can:

  • Save: This updates the translation of the string within the Translation Memory only. Fuzzy matches and SmartMatches in the future will use this new translation.
  • Save & Update Projects: This updates the translation of your string within the Translation Memory and will propagate to strings within your project that have used the same translation. 
  • Cancel: To cancel any changes that may have been made, and exit editing.

Save & Update Projects

Modifying the full string with ‘save and update projects’ updates the full string and any changed segments in the TM as well as the project.

Modifying a segment with ‘save and update projects’ modifies the segment in TM and project and adds a new full string to the TM reflecting the updated segment. The original full string stays in the TM as well, however it is now unassociated with the project string.

The propagate function can cause updates to your published or pre-published translations, which can trigger downstream behaviors like notifications, Translation Cache refresh, or file download, depending on your integration setup.
This option may not be available, due to the translation is not currently active in any projects. This can be because it was imported from a TMX; or because a change was already made and saved, but not propagated.

Update Project Strings

Update project strings is an important feature that's available in both single string edit, and Find and Replace. Choosing this option will update the translation of your string within the Translation Memory, and will update strings within projects that have used the same translation. The project strings will be updated in whatever step they're currently in, whether that's a translation step or a published step.

To illustrate how this works, imagine a string in a project called "Business Docs" is translated and saved to the TM. Later, the same source string appears in a different project, "Email Marketing". This repetition gets SmartMatched from the translation that was already in the TM. If the TM translation is updated and Update Project Strings is selected, the strings in both "Business Docs" and "Email Marketing" projects will be automatically updated.

View History of a String (Classic)

To view the history of a string (such as the Translator's name, completion date, project name, and the person who authorized the content), click the clock icon within the History column.


For project-specific string history, use the History feature by going to Content > Translations (also referred to as the "List View").

The History of a String in the New UI is found under the Translation Unit Activity

Translation Unit Activity (New Experience only)

A Translation Unit is the source string and translation entry in the Translation Memory. The Translation Unit is shared across all projects writing to the same Translation Memory. The Translation Unit Activity tracks each instance the Translation Unit writes to the Translation Memory. If the Translation Unit is leveraged in a project, including a SmartMatch, this will not display in the activity.

The activity is captured from when the Translation Unit was saved. For TMX entries, the activity is captured when the Translation Unit is uploaded to the platform. For Project entries, the activity is captured when the Translation Unit is saved in the CAT Tool.

You can view the historic activity of the Translation Unit by clicking the Activity icon in the Translation Memory.

In the Activity tab, the data captured is;

Type: TMX or Project. This indicated how this Translation Unit entered the TM. TMX upload or saved from a translation made within the Project.

Source: The Project name that is writing to the Translation Memory as the source of the activity entry.

Last Updated: The date and time in which the Translation Unit was last used.

Author: The initial translator (i.e. saved & submitted from a Translation step). The author is N/A for TMX uploads and Smartling API for SmartMatches.

File/URL: the name of the source file/source URL

Key: The key identifier for the translation unit (if any)

Variant: The variant for the translation unit (if any)

Authorizer: The user who authorized the job. It displays jobs-service-jobs-service because of job automation rules. if a user had manually authorized, it would be the user’s name.

String History: Click the View String History link to open the String Detail's History and view all actions taken on the Translation Unit.

In the Previous String Translation tab, the data captured is

Last Seen: The date the most recent update was saved for that translation.

Translation: The string translation

Strings: A link to the list of string activity, including the last modified date, the translation, the project it was translated in, the author or initial translator. 

Machine Translation in the Translation Memory

Machine Translation can be configured as a translation provider in a workflow, or as a language resource for linguists in the CAT Tool.

Machine translations that are inserted or autopopulated in the CAT Tool are stored in the Translation Memory and are counted as Processed Words because the action of submitting the translations is executed by a human.

Machine Translations (MT) that are processed through an initial MT workflow step are not saved to the Translation Memory (TM). Saves to the TM could happen if there are additional human steps after the initial MT step, or if there are any edits made to the MT.

If Machine Translation proceeds to an Edit or Review step type, this will lead to Machine Translation saving to the Translation Memory. This is because any content submitted or saved in an Edit or Review step type is considered "human" translated content. So, even if Machine Translated content was unchanged in any of those step types, it will be saved to the Translation Memory.

If you want Machine Translations to be processed through an edit step after the initial MT step, ensure your workflow includes a Post-Machine Revision step type as the "edit" step. This will avoid having any unedited Machine Translated content save to your TM. However, any edits to an MT on this step will result in saves to the TM.

If a Machine Translation was edited and saved by a user in the CAT Tool (outside a Machine Translation Post-Edit step type), in the TMM itself, or in the Strings View, the edited Machine Translation will save to the Translation Memory.

If you want all Machine Translations (edited and unedited) to be saved to the Translation Memory, consult your Customer Success Manager.

Was this article helpful?