The AutoSuggest feature in Studio has been around since the launch of Studio 2009 and based on the questions I see from time to time I think it’s a feature that could use a little explanation on what it’s all about. In simple terms it’s a mechanism for prompting you as you type with suggested target text that is based on the source text of the document you are translating. So sometimes it might be a translation of some or all of the text in the source segment, and sometimes it might be providing an easy way to replicate the source text into the target. This is done by you entering a character via the keyboard and then Studio suggests suitable text that can be applied with a single keystroke. In terms of productivity this is a great feature and given how many other translation tools have copied this in one form or another I think it’s clear it really works too!
AutoSuggest comes from a number of different sources, some out of the box with every version of the product, and some requiring a specific license. The ability to create resources for AutoSuggest is also controlled by license for some things, but not for all. When you purchase Studio, any version at all, you have the ability to use the AutoSuggest resources out of the box from three places:
- An AutoSuggest Dictionary (*.bpm file)
- A termbase (*.sdltb file)
- AutoText (*.txt file)
Update Studio 2015: The introduction of this version brings a new feature to AutoSuggest. It can now optionally use your Translation Memories and Machine Translation for realtime autosuggestions. There is a great article here from Nora Diaz on what this means in practice.
But if you want to have access to all the capabilities of AutoSuggest without limitation then just any license of Studio is not enough. This is because there are three more things to be aware of.
- AutoSuggest Dictionary creation
- Termbase creation
- Add SDL OpenExchange custom AutoSuggest Providers
Whether or not you can do any of these things depends on the type of license you own, and we’ll look at licensing at the end of this article. First I want to consider the four main sources that can feed AutoSuggest and one special feature for creating AutoSuggest Dictionaries (just one of the sources). When you look at the AutoSuggest options in File -> Options -> AutoSuggest in Studio 2014 you’ll see a list of the AutoSuggest Providers you have access to and you just enable them by ticking the box. I have six sources which are made up of the three out of the box sources, and then three additional sources I have added via the SDL OpenExchange:
So before I get into the License requirements I’m going to take a quick look at what each of these four sources mean… three out of the box and one from the OpenExchange that in reality could be any number of providers (I have three, so we’ll just look at these three currently available on the SDL OpenExchange).
The AutoSuggest Dictionary is created in Studio by extracting phrases from your Translation Memory and placing them in a bilingual dictionary file, based on a SQL database, and saving this file with the extension BPM. When this was first released with Studio 2009 there was a requirement that the Translation Memory contained 25,000 Translation Units (TUs) to ensure that the statistical relevance of the extracted phrases to the source segment you are translating was high. In this way the amount of irrelevant matches, or noise, was reduced which of course provides a better experience for the translator. Over time this restriction has been lowered based on feedback and further testing and today the requirement is for your Translation Memory to have a minimum of 10,000 TUs.
The AutoSuggest Dictionary cannot be edited (unless you risk fiddling and possibly corrupting the BPM file with a SQL editor) so it’s worth regenerating your BPM file from your Translation Memory every now and again. I’m often asked how often? This really depends on how much your Translation Memory is growing so you could do this once a day after finishing work, once a week, or even once a month. There is no hard and fast rule… perhaps some of the experienced translators reading this article can share their experience in the comments! Maybe someone will create an OpenExchange App that will schedule this for you and automatically regenerate your Dictionaries as you work, or overnight to suit you!
Once you have generated your AutoSuggest Dictionary (which you can only do if you have the appropriate license), and if the material you are translating is relevant to the content of your Translation Memory then as you type you will get this kind of effect:
The suggested translation will pop up in front of you (with the green/gold icon) as you type allowing you to ignore it altogether, keep typing to narrow down the list, or just select the appropriate suggestion with the keyboard. Many translators have reported as much as 30% to 40% productivity enhancements due to less typing as a result of this feature in Studio. Clearly the amount of gain is going to be dependent on the relevance and type of source material but I think it’s fairly obvious this is advantageous when typing.
I have documented a fairly exhaustive process on how you generate these dictionaries in the past, and also provided information on where you can find additional resources to help with some language pairs based on EU languages. You can find these posts here which were written for Studio 2011, but I think they are still useful today:
The AutoSuggest capability is used to place the translated source of any recognised terms into the target text as you type. This is particularly powerful because you can build simple glossaries for as many words as you like and this allows you to take advantage of the AutoSuggest capability from the moment you start work. You just add terms to your termbase as you’re translating or reviewing and they immediately become available for placement via AutoSuggest.
The Termbase suggestion is presented alongside any other suggestions. In the screenshot below I have included the Term Recognition window on the right so you can see where this is coming from. The fact this is a termbase AutoSuggestion is also confirmed by the grey database icon to the left of the suggestion at the top of the list. The other suggestions are from the AutoSuggest Dictionary (with the green/gold icon) and they take second priority since a recognised term is probably what you wish to enter here and you save a keystroke when it is already at the top of the list.
Obviously the criteria for creating your own termbase is that you either have access to SDL MultiTerm or one of several OpenExchange applications that can do this for you. If you have a Freelance license then you will already have SDL MultiTerm and the ability to use OpenExchange Apps, you will also have the ability to add/edit terms to build your glossaries/termbases as you work. Some license types do not have this as you will see at the end of this post.
If you’re looking for a head start on how to work with termbases or where you can find additional resources then perhaps review some of these posts (oldest first):
- Glossaries made easy…
- Great news for terminology exchange…
- Is MultiTerm really that hard to learn?
- Multitudinous terminology!
- Yanks versus Brits… linguistically speaking!
- What a whopper!
- A few bilingual TBX resources
- IATE, the last word… maybe!
This is perhaps the hardest resource to find a really good use for (hard for me… not hard for all the nice reasons posted in the comments below!). It’s monolingual only and won’t work if any other AutoSuggest providers are present and can suggest a match. It also takes four characters before kicking in so in this example I had to type “comp” before the suggestion was presented:
AutoText suggestions are identified by the little disk drive icon (at least I think this is what it is!) shown above. To be honest I struggle to see the usecase for this quite a bit because the best use I can come up with would be where you had long lists of words that are not translated. But in this case you’d probably be better off adding them to your variables list in your language resources. I guess you could add lists of long technical words you think you might have to type a lot, or import a text file from a monolingual dictionary into this list and it would be there just in case you had no other resource that was used first… but I’d welcome suggestions from anyone who finds this a really useful feature. Just post them into the comments and I can provide a better answer the next time I’m asked too!
If you don’t know where to find this just go to File -> Options -> AutoSuggest -> AutoText where you select you select your target language and then either add the entries one at a time or import them via a text file. If you want to know what format this should be just ad a few words manually and then export the list and save it on your desktop. You can open it with a simple text editor and see what it looks like. While you are working you can add terms via the ribbon, Advanced -> Add AutoText, or with a keyboard shortcut. I think the default is Alt+F7 but you can customise this anyway.
OpenExchange AutoSuggest Providers
At the time of writing I’m only aware of three AutoSuggest Providers available on the OpenExchange so here they are.
This is a pretty cool plugin that will offer Machine Translation suggestions for the entire sentence and/or parts of it so they can be placed with the click of a button. This will use whatever Machine Translation plugin you happen to be using in your Project. It won’t return suggestions from them all, so you only get one of them, and the speed at which it works is dependent on your internet connection. However, I have spoken to many Translators who love this way of working with Machine Translation because it doesn’t get in their way. It is only applied when you want, through a single keyboard shortcut as an AutoSuggestion.
There is no icon visible with this provider so if you use multiple Machine Translation engines in your Project you won’t know which one is providing the suggestion either so this could be improved. Where the suggestion represents the full translation of the source segment you can see the full text in a slightly greyed window below the AutoSuggest box.
But a very useful feature and one seen as the future of Machine Translation for Translators by many interested observers.
This application works in the same way as the MT AutoSuggest plugin described above, but with one interesting advantage. You don’t even need to have Google MT enabled, nor do you require an account with Google to get an API key. Once again there is no icon visible, and where the suggestion represents the full translation of the source segment you can again see the full text in a slightly greyed window below the AutoSuggest box.
You can watch a video on this one that was created when the plugin was created as part of the SDL OpenExchange Developers Competition in 2014.
This is an excellent plugin that really deserves an article to itself and will probably see one soon as there is so much you can do with it. The basic idea is that you can create a regular expression to match a pattern of text in the source and then either copy it exactly, or transpose it using another regular expression, into the target segment. And if that wasn’t enough you can also create lists of variables and group then under a single match pattern for use in matching source text. Sounds complicated, but it’s not really.
The Regular Expression replacements work by either allowing you to copy the source exactly as written, which is excellent for Alphanumerics which are not recognised in the source by Studio. Prior to SP2 this occurred a lot, but even with SP2 you may find some that are not picked up. I discussed this a little in an article a few weeks ago when Studio 2014 SP2 was released… the example looked like this:
So those tricky looking expressions just found the same pattern that is presented when typing the start of the alphanumeric into the target segment. You can also use this to apply a translation. So in the text I used for the other examples the expression “Article 56”, “Article 39” etc. comes up a lot. I could save myself some time by looking for this pattern and replacing it with “l’article 56”, “l’article 39” etc.
This would generate me something like this where the Regex AutoSuggest result is now evident by the little “R” icon to the left of the suggestion:
In this example I also used an AutoSuggest Dictionary and you can see the Regex AutoSuggest takes second place and is at the bottom of my list, but I use the arrow up key to select this in one go which still saves me keystrokes.
The new version of this plugin adds the variable list capability and these work by providing a place to enter all the variables under a named list, in this example I called it “Month”, with their translations like this:
Then you create a regular expression to manipulate the source but instead of requiring 12 expressions for each type of date manipulation you’ll ever require, you now only need one, like this for example:
So this would allow me to look for a source text such as “01 January 2014” and replace it via AutoSuggest into “01 Ionawr, 2014” for example. Like this:
So by adding the name of the variable list enclosed with hash symbols (#Month#) into the regular expression I am able to transpose all 12 months with a single expression, and I can reuse this variable list in other expressions as the need arises. Very cool!
Finally, let’s take a look at the licensing requirements to be able to use these great features. Not every version of Studio will give you the possibility to access them all and some can be restricted in terms of how they are used. There are five different license types available for Studio; Express, Starter, Freelance, Professional and WorkGroup, each with their own capability. You can find a description of all the differences in KB #4939, but I’m hoping this table below should help to explain what’s possible in terms of AutoSuggest alone.
It’s clear that if you have a Workgroup or a Professional License that you get everything here, but the other three could use a better explanation. So let’s do that by licence type.
The only thing a standard Freelance license lacks is the ability to actually create the AutoSuggest Dictionary yourself. So you can use one if someone provides the *.bpm file(s), or you download one from the SDL OpenExchange website where there are several to be found that have been created and shared by others. But you can only create your own AutoSuggest Dictionary if you have a special license called the AutoSuggest Creator License.
This Add-on is often thrown in as part of a special deal so many users have this license and didn’t even realise it. But if you purchase the Freelance License without this Add-on then you’ll need this if you want to be able to create your own AutoSuggest Dictionaries. You can find this license at TranslationZone in the Shop.
Starter and Express
I’ve lumped these two together because the restrictions here are very similar.
Allows creating termbases (add/edit terms): neither of these versions come with SDL MultiTerm. So if you want to be able to manage your own termbase for use with the AutoSuggest feature then you’ll probably need SDL MultiTerm to create your termbase in the first place
Allows using termbases (read only): if someone provides you with a termbase then you will be able to place recognised terms using the AutoSuggest feature. But as this is read only you won’t be able to build on this resource unless someone with the appropriate license adds all the terms you would like.
Can access Machine Translation from within the tool: If you wanted to use an AutoSuggest feature that applied Machine Translation then this won’t work if you are using the Starter Edition because you can’t add Machine Translation. If you receive a Project Package that is set up to use Machine Translation then this is a different kettle of fish; in this scenario you can use it. But you cannot add Machine Translation to your own Projects, or to a Packaged Project that did not contain the Machine Translation Provider in the first place.
AutoSuggest use: This is referring to the use of an AutoSuggest Dictionary. You cannot add your own *.bpm file to a Project that you have created, or to one created via a Project Package. But if the *.bpm is provided as part of a Project Package then you can make use of it.
AutoSuggest Create: Neither of these versions can create an AutoSuggest Dictionary and there is no license Add-on for these versions either.
Runs 3rd party plug-in apps from the OpenExchange: The Starter Edition will not allow integrated applications to be used at all, and if you only have a valid license for the Starter Edition in your MySDL account then you won’t be able to download any apps from the OpenExchange at all.
The Express Edition is a little different in this regard. This license is used by a Company to provide their translators access to Studio so they can work on Project Packages created by them only, or to connect to an instance of their SDL WorldServer, SDL TeamWorks or SDL TMS solution. So applications created via the SDK/API can be used by the Express Edition. The exception to this rule are most SDL developed applications made freely available on the OpenExchange as they often have license checks in there that look for Freelance, WorkGroup or Professional only.