Building Multi-Language Bots Using SDL

Through the SDL integration, the Druid virtual assistants gain the ability to have conversations in different languages with employees, clients, partners or suppliers, without the need to translate the data sources or the conversational flows. Often, a chatbot configured for conversations in English is subjected to questions in French or German. Of course, the chatbot can be configured with a conversational model for both French and German, as this is a built-in feature for the Druid platform, but this requires additional effort. If the chatbot is connected to an enterprise data source (ERP, CRM, BI, HRIS, or other types of business applications), sending templates or forms from the internal business systems requires intensive translation efforts, which can become increasingly costly.

The integration with SDL Machine Translation Cloud enables Druid to provide a real-time interpreter function. The „interpreter mode” can translate conversations back and forth in more than 100 languages combinations, independent of the digital communications channel or device used. Moreover, the Live Chat component simplifies the scenario where a human operator or a virtual assistant (chatbot) provides customer support in multiple languages, simultaneously.

By using machine translation, there is no need to do individual authoring for every language defined on the bot. The bot authoring process will be done in the bot default language and machine translation will translate the messages, buttons, user input / intents into the [[ChatUser]].Language only if it's on the list of available language in the SDL Account.

A chatbot authored and trained in English, can be used as-is by users speaking other languages (German, French, Chinese, etc.), depending on the available language set in the SDL Account.

Hint:  The SDL machine translation service generates additional costs. For more information, get in touch with Druid Support Team.

Set up SDL machine translation on the bot

Note:  You must have an active SDL account. Write down the Client Id and Client Secret associated with your SDL account as you will need them to set up SDL machine translation on the bot.

To activate the SDL real-time machine translation, go to the bot settings (Details tab), click the Languages section header and tick Enable Machine Translation.

Enter the SDL Cient Id and SDL Client Secret (the machine translation credentials associated to your SDL account).

Tap on the desired translation option: Conversation time or Authoring time. To learn the differences between the two options, see Conversation Time Translation versus Authoring Time Translation.

Note:  For backwards compatibility, the bots created in Druid versions prior 1.53 that have machine translation activated (Enable Machine Translation selected), will have the SDL translation automatically set at Conversation Time. You can change it to accommodate your needs.

Click the Save button to save the bot details. The automatic machine translation service will be activated.

Conversation Time Translation versus Authoring Time Translation

  Conversation Time Translation Authoring Time Translation
Druid calls the SDL Machine Translation Cloud service Every time a message is written in the chat When authoring the bot (flows configuration)
Enables bot translation in bulk No Yes
Translation Cost Structure Per message Per flow authored element
Customize message(s) translation No Yes
Voice bots using SDL Yes Yes

While conversation time transaction is done only when a language change occurs during the conversation (the [[ChatUser]].Language is different from the bot authoring languages), the authoring time translation allows bot authors to have the bot flows translated in the bot authoring languages, at authoring time, which means lower translation costs.

Imagine that you have a bot authored in various languages hosted in an online shop and you need the bot to be always active. Using the conversation time translation in this scenario leads to high costs for having the messages translated in real-time; for each message translation, the bot calls the SDL machine translation service. Translating the bot at authoring time is more cost-effective, enabling the bot to use Druid NLP for the bot authoring languages instead of calling the SDL machine translation service.

If you select both conversation time translation and authoring time translation and a language change occurs during the conversation, to other language than the ones defined on the bot, then the bot will switch to real-time machine translation. Otherwise, the bot will use Druid NLP for the bot’s authoring languages (bot default and additional languages).