Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Major Version
Recent Updates
Previous Versions
Request a Feature
Conversation Designer
Dialog Tasks
Mock Scenes
Dialog Tasks
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Intent Node
Dialog Node
Entity Node
Entity Rules
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
User Prompts or Messages
Voice Call Properties
Entity Types
Knowledge AI
Knowledge Graph
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Digital Views
Session and Context Variables
Context Object
Intent Discovery
NLP Optimization
ML Engine
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Health and Monitoring
NLP Health
Flow Health
Actions Overview
Azure OpenAI
Microsoft Graph
Open AI
Agent Transfer Overview
Custom (BotKit)
External NLU Adapters
Dialogflow Engine
Test and Debug
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
NLP Insights
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Manage Assistant
Plan & Usage
Usage Plans
Support Plans
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data Table
Table Views
App Definitions
Data as Service
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
Widget SDK Tutorial
Web SDK Tutorial
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Data Tables and Views
Assistant Management
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Control
Using Single-Sign On (SSO)
Two-Factor Authentication (2FA)
Security Settings
Cloud Connector
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Advanced Topics
  5. Language Management
  6. Managing Languages for Multilingual VAs

Managing Languages for Multilingual VAs

You can create an assistant from scratch, enable a language for an existing assistant or update the language configuration for an existing assistant. Besides these functionalities, this article also shows you how to switch between languages and how to enable or disable a language.

Selecting a Language when Creating an Assistant from Scratch

To create an Assistant from scratch, follow the below steps:

  1. Log in to your XO Platform account.
  2. On the Virtual Assistant landing page, click New Bot on the top-right and select the Start from Scratch option.
  3. On the Create New Bot window, enter the Assistant details:
    1. Name – Give a name to your Assistant. For example, Banking Assistant. If the name is already used, try something else
    2. Select the language from the Default Bot Language drop-down list.

  4. If the selected language is from one of the 26 languages supported as NLU languages (read more here) then by default, the VA language will be the same as the NLU language. You can always change the NLU language to any language by clicking on the Advanced Options link to search and select the NLU language from the list of supported languages.

  5. Once you select an NLU language, which is different from the default Bot Language, you can enable the following translation modules:
    1. User Input Translation – This approach uses language translation services to translate the user input into a base language. The conversation is executed in the base language and the responses are auto-translated back to the user’s language using translation services. (Supported from v9.1)
    2. Runtime Response Translation – The XO Platform can automatically translate all the prebuilt responses as well as plain text messages to the user’s language. For this, you will need to provide your API keys for either Google Cloud Translation or Microsoft Translator service in the Translation Configurations section. You can also translate the content of the templated messages inside the JavaScript using the koreUtil.AutoTranslate() function by passing a string or a context variable. For example, koreUtil.AutoTranslate(context.variable1)

      Note: If you select Multilingual as the NLU language option, by default the Assistant will be able to understand the user input in 100 plus languages supported by the XO Platform. The Multilingual NLU model is a language-agnostic model, it understands user input in 100 plus languages without the need for translation. However, you could enable Response Translation if the responses are configured in a language other than the assistant language.

  1. Click Create when done.

Adding a language to an existing Virtual Assistant

Even if your assistant has already been created, you can still add new languages to it. Follow these steps to add a new language for your virtual assistant:

  1. Go to Build > Configurations > Languages.
  2. On the Language Management page, in the Standard Languages section, click the + Add Language to add languages.

  3. The Platform will display all the 100 plus languages that are supported. You can click on the Configure button to enable a language.

    Note: You can also search for a language by entering its name in the Search field.
  4. Once you click configure, you can setup the following language configurations:

    1. Choose the NLU Language – Allows you to select any supported language as the NLU model to train your assistant.
    2. Select the Language Definition Mode -You can choose any of the following options to copy the language definitions:
      1. Basic Mode – Lets you only copy dialog prompts and messages.

        Note: A base language is a language that is already enabled in the assistant. You need to choose a Base Language for your assistant from which you want to copy your assistant’s data for both Basic and Advanced modes.

      2. Advanced Mode – Lets you copy dialog prompts, messages, knowledge graph, small talks, traits, and training data as per your need.

      3. Use Language Pack – Lets you upload the language definitions after adding manually translating a JSON file. You can download a JSON language pack of any of the already-enabled languages and then edit the dialog prompts and messages in the JSON file. Upload the updated JSON file to enable the new language for the assistant.

    3. Manage Translations – In case the Translation Engine is not configured, click the Configure link to set up the translation engine for your assistant. To learn how to enable Input Translation or Runtime Response Translation, refer to this article.

  5. Once you have configured translations, click Enable to add/enable a new language for the assistant.

Updating a language for an existing Virtual Assistant

If you want to enable/disable input translation, change the NLU language of the already enabled language for an assistant or modify the dialog prompts then you can use the update feature. 

To update an already enabled language for an assistant, follow the below steps:

  1. Go to Build > Configurations > Languages.
  2. The platform will display all the languages under the Language Management section.
  3. Click on the language that is already enabled in the VA. The Manage Language dialog appears, here you can:
    1. Update the NLU language – Updating the NLU language will need training for the virtual assistant again.
    2. Update the dialog prompts – You can update the language pack file and upload it to update the dialog prompts.
    3. Update Manage Translations – You can enable/disable input translation or runtime response translation based on your needs.

  4. Click the Update button once all the necessary changes are made.


  • After you have configured a new language, the status of all the published tasks that are modified to Enabled. To make the new language work, you must re-publish the VA. Until then, the VA continues to function with the previously published languages.
  • Support for Synonyms is restricted to English, French, Spanish German and Chinese languages. The respective sections in Natural Language and Entity Node will be in a disabled state for other languages.

Switching Languages 

If you have configured multiple languages for a virtual assistant, you can switch the language to configure the virtual assistant from the top right corner (language dropdown) from within any area of your VA. The dropdown will display all the other supported languages with the corresponding NLU model that is configured for the language. 

Note: The language dropdown will display the Bot Language and NLU language for the languages where the Bot Language is not equal to NLU language. If the Bot Language and the NLU language are the same then the language drop down will display only the Bot Language.

Disabling/Enabling Languages

Languages can be enabled or disabled by going to Build > Configurations > Languages < Standard Languages. Use the toggle to enable/disable a language.

Once you have configured and enabled a language you can:

  • Disable or deactivate a language that is previously enabled for the VA. The actual language-specific data that has been added while enabling the language will continue to exist in the VA even after disabling the language. Disabling would prevent the users from talking  to the assistant in that language (can be viewed in the VA export copy)
  • If a language is disabled you can enable it again, since the data is preserved, you need not enter all the details.

Note: Any change in language settings needs to be published before it can take effect in the published assistant.