Monday, January 20, 2014

Adding Variables to a Studio TM to Increase Leverage

By adding variables to a SDL Trados Studio TM, we can customize our TM to recognize and automatically replace words, alphanumeric combinations and numbers that would otherwise need to be replaced manually.

In the example below, the only difference between these pairs of segments is X20™ and X40™.

Once the X20™ segments have been translated, a regular TM finds no matches or only fuzzy matches for the X40™ segments:

But by adding X20™ and X40™ to the TM Variables, these items will be recognized as non-translatable elements, and will therefore be replaced automatically.

To achieve this, we go into Project Settings > Language Pairs > All Language Pairs > Translation Memory and Automated Translation, select our main TM, and click on Settings:

Then go to Language Resources and select Variable List from the list on the right-hand side, then click Edit:

Add both X20™ and X40™ to the list and click OK:

Close all the open dialog boxes and go back to the file, where we now get this:

Note: For this to work, each of the segments that had been previously confirmed in this example had to be confirmed again, so that the segment variables could be processed with the newly modified TM and the variables could be recognized and automatically replaced. From here on, any new segments entered into the TM that have either X20™ or X40™ will be automatically processed with the new variables.

Any number of variables can be added to a TM. This also works for things like product names and numbers with hyphens, such as 1375-2, 1379-5, for example, that Studio would not normally recognize as numbers.

Variables can be added or deleted from a TM at any time.

A new OpenExchange app for Studio 2014 called Variables Manager now makes it easy to add long lists of variables quickly to a TM through a simple copy-paste operation.


  1. Nice article Nora... explains nice and clearly. Perhaps a useful supplement is this article which also covers another OpenExchange application called SDLTmFindVars :
    This application can extract variable candidates from your TM so if you have not used them so far it’s an easy way to get a head start and improve the leverage you get using your existing resources.

    1. Thank you Paul. Very helpful indeed.I can immediately think of a couple of TMs that I'd like to check for variables.

  2. Very useful read - depending on the source text type, variables can really make one's life easier!

    It might however be noteworthy that there are also some potential pitfalls when using variables:

    • Depending on the language combination, different grammatical rules might apply to a variable or words surrounding it. For instance the article of acronyms may change according to the gender of the acronym or whether the acronym starts with a vowel or a consonant.
    If your variable list contains both "ABS" and "TRC", you would run into the following for French:
    ○ ENG: Activate the ABS.
    ○ FRE: Activez l'ABS.
    ○ ENG: Activate the TRC.
    ○ FRE: Activez le TRC.
    Context Matches can take care of some of these problematic cases, but there is always a danger that the TM only contains one match.

    • If later on, for one reason or another, you decide to stop using variables, your matching rate will drop since only one occurrence of a translation unit will be present in the TM. But since you don't use variables any more, only segments containing exactly the same (former) variable as the the segment in the TM will appear as 100% or Context Matches.

    This being said, I still think using variables can be a big boost to quality and translation costs/speed if one is aware of the possible dangers.

  3. Nora, I must surrender. I have a large text with lots of ítems such as:
    Safety Helmet H-700C-GP
    Safety Helmet H-700C-GU
    Safety Helmet H5X06A
    Safety Helmet P34X07
    Safety Helmet H-700C-OR
    Safety Helmet H-700C-RD
    Safety Helmet H-700C-VI
    Safety Helmet H-700N-BB

    The list is huge, and as you can imagine, it would be wonderful if I could consider the H-700C-GP and such as variables... the problema is that variables won't accept hyphens. And it won't consider them acronyms either, as they mix numbers and letters.

    Do you have any idea of how I could do it? Evidently, those codes are NOT translated, and I have been crushing my mind trying to find a scheme...

    Hyphens are horrible, I can't even divide these codes in three (such as H///700C///VI so at leat I could consider a part of it as a variable, but it won't work! ANy ideas on how I could autopropagate all this?

    1. Hi Ignacio, I've been there. The solution is an OpenExchange app called Terminjector ( You will need to create regular expressions that will pick up the items you need to place automatically.

      Paul Filkin has a couple of excellent, very useful posts about Terminjector, here's a link to one:

      And you will need to go over the app's documentation, also very helpful guidance, provided by the app developer, Tommi Nieminen here:

      It needs a little time investment, but if you have a long list of such items, it's definitely worth it.

      Good luck!

  4. Each of the fragments that had been already affirmed in this illustration must be affirmed once more, so that the section variables could be handled with the recently altered TM and the variables could be perceived and naturally supplanted