Variables and machine translation

Dear SDL community,

I am afraid I have to ask for help again, as for the first time I am working in Studio from scratch (no package nor TMs provided by a PM, only an XML source file).

The file to translate contains a few custom placeholders in the form of #name# (example: #orderid#, #username#). These placeholders should not be modified. Unfortunately, the machine translation sometimes translates them and always adds spaces around them, as can be seen in the picture below:

After searching for a while, I learnt about SDL's variables through Paul's blog. I entered 5 of these placeholders in the TM using the Variables Manager. Unfortunately, these variables are still being modified as before. I understand that the feature is linked to the TM. By using Google's AT, I am probably bypassing the TM and its variables, is that right ? If so, what other method could help me achieve a cleaner AT ?


  • Hi

    I'm afraid the use of variables won't help in this case, for two reasons:

    1. You are using MT which will translate everything (or try to anyway)
    2. Variables in a TM are there to help improve leverage when the rest of the sentence apart from the variable is the same

    You have a few solutions. If you are using Google why don't you try using MT Enhanced ( ) for example from the SDL AppStore as this has a feature that allows you to list words you don't wish to send for translation and you may get better results with that.

    Or you could use the legacy XML filetype instead of the default. If you do that you can create rules using regular expressions for the protected text and you could create placeholder tags for these variables so they won't get translated. Or even non-translatable opening and closing tags based on the # symbols perhaps... both would work.