3 min read

Make your Power Virtual Agents chatbots multi-lingual with the Translator Bot sample solution


Today, Power Virtual Agents supports 23 languages, including previews, with one language per chatbot. Customers appreciate the ease of creating Power Virtual Agents chatbots in different languages and customizing them to address various markets, but they often raise these questions:

  • How can I use Power Virtual Agents in a language that’s not part of the 23 supported languages?
  • Can I create a single Power Virtual Agents chatbot that responds to different languages instead of creating a separate bot for each language?

While support for single-bot multi-language is work in progress, there are also scenarios where a real-time translation layer can benefit chatbot makers and end-users, so that a single bot can be customized once, in one language, and automated translations are provided for all the messages between the user and the bot, allowing to deploy to more markets quickly, while reducing the implementation effort.

What is the Translator Bot sample solution for Power Virtual Agents?

The Translation Bot solution is a code sample that our customers can re-use and adapt to their needs. It showcases how to add a real-time translation layer by creating a relay bot on the Azure Bot Service as well as a connection to the Azure Cognitive Services Translator. It communicates with Power Virtual Agents using the Direct Line API.

The solution lets chatbot makers configure language recognition at every turn, allowing to translate various languages that customers input into the same Power Virtual Agents chatbot. Additionally, chatbot makers can customize dictionaries to offer specific translations for user queries – for example for specific industry terms.

The Translation Bot sample solution also supports adaptive cards, Power Automate cloud flows, the Dynamics 365 Omnichannel for Customer Service chat widgets and the Dynamics 365 Omnichannel Voice channel.

In the below example, the Power Virtual Agents chatbot recognizes the initial language used by the user – in this case, Spanish – and responds in the user language. When the user starts using English, the chatbot answers in English.

Frequently Asked Questions

How does the Translator Bot work, and what components do I need to set this up?

Here’s an overview of how the solution works. You will need an Azure Service Bot, Azure Cognitive Services Translator, and a Power Virtual Agents chatbot:

  1. The user sends a message in their desired language.
  2. The middleware inside the Azure Bot Service intercepts the message, translates it, and sends it to the Power Virtual Agents bot.
  3. The Power Virtual Agents bot triggers a topic based on the message received from the user.
  4. The Power Virtual Agents bot’s response is sent back to the user.
  5. The middleware intercepts and translates the message according to the user’s language.
  6. The user receives the translated message from the Power Virtual Agents bot.

You can choose to detect the language at every turn or to set it at the beginning of the conversation.

What are the languages supported by the Translator Bot?

This solution supports all languages available through Azure Cognitive Services Translator: Language support – Translator – Azure Cognitive Services.

What is the cost of using the Translator Bot solution?

In addition to Power Virtual Agents pricing, the additional required Azure components would be billed on an Azure subscription. While most Azure services have a free tier to get started, billing is based on usage and on the selected tier. See pricing for the Translator Service and  App Service pricing

How can I deploy the Translator Bot solution in my tenant?

Setting up the Translation Bot should be straightforward once the required Azure resources are provisioned. The step-by-step for this is detailed here: PowerVirtualAgentsSamples/MultilingualBotSample at master · microsoft/PowerVirtualAgentsSamples · GitHub

How is the Translation Bot supported by Microsoft?

Although the underlying features and components used to build the Translation Bot are fully supported, the code itself represents a sample implementation of these features.

Our customers and community can use and customize these features to meet their requirements. Any issue with the Translation Bot sample solution should be raised on the Power Virtual Agents Samples GitHub repository and not through Microsoft Support.