--- title: Language detection and dynamic translation in Virtual Agent NLU and LLM standard chat description: Enable a combination of language detection and machine translation for Virtual Agent to improve the chat experience for diverse users. You can designate fallback languages for locales or dynamically translate languages that are not professionally localized or are not supported in topic discovery. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/conversational-interfaces/virtual-agent/dynamic-lang-detection-translation-standard-chat-nlu.html release: australia product: Virtual Agent classification: virtual-agent topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 10 breadcrumb: [Localization options for Virtual Agent, Build and deploy, Virtual Agent, Conversational Interfaces] --- # Language detection and dynamic translation in Virtual Agent NLU and LLM standard chat Enable a combination of language detection and machine translation for Virtual Agent to improve the chat experience for diverse users. You can designate fallback languages for locales or dynamically translate languages that are not professionally localized or are not supported in topic discovery. Chat users are more comfortable having conversations in their preferred language. Their preferred language is set in the user's profile language preference. For example, Virtual Agent greets users in the preferred language specified in their user profile. But if a user responds in another language, Virtual Agent can detect the change. Depending on your user experience, users receive a prompt to switch the to the detected language or the conversational language updates automatically to the detected language. After the language is switched to the detected language, that language becomes the conversation's language for the remainder of the conversation. In many cases users don't have control over their preferred language, particularly if they are guest users. Guest conversations do not support language detection if resumable guest sessions are not enabled. This is why language detection and dynamic machine translation can improve the chat experience, particularly if you have conversations that have not been localized in some languages. For example, your organization may routinely localize into Spanish and French, but you may also want to support Dutch and Danish. You can enable Dynamic Translation on your ServiceNow® instance for those languages. You can use language detection to support custom or locale-specific language codes as well. For example, NLU topic discovery doesn't support Mexican Spanish \(es-mx\), but it does support Spanish \(es\). You can designate Spanish as the fallback language for Mexican Spanish, ensuring that these users have a good customer experience. Virtual Agent conversations can be dynamically translated. Virtual Agent uses platform translations, and if no platform translations are found, then Dynamic Translation is used instead. If some conversations have been professionally translated, you should disable dynamic translation for those specific languages. Expert translations of your NLU models, keywords, and topics may be more accurate and of higher quality than machine translations. Prior to making a dynamic translation call, the Virtual Agent checks the Text Translations for Dynamic Translation \[sys\_cs\_dynamic\_translation\_text\] and Message \[sys\_ui\_message\] tables previous translations or localization records. A dynamic translation call is only made if no translation exists in either table. After a dynamic translation call is made and that text is translated, the text is stored in the Text Translations for Dynamic Translation \[sys\_cs\_dynamic\_translation\_text\] table for future use. This table is cleared every 24 hours to ensure that the most up-to-date translations stored in the Message \[sys\_ui\_message\] table are being referenced. Storing previously translated text results in fewer dynamic translation calls to third-party translation services. For more information about localizing Virtual Agent conversations, see [Localizing Virtual Agent conversations](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/localize-va-topic.md). You can use Dynamic Translation during the localization process as well. If you are localizing conversations with professional linguists, you can enable Dynamic Translation while some topics and strings remain untranslated. When your deployment in that language is complete, you can disable Dynamic Translation, since professional translations are likely more accurate. \[Omitted image "icon-video-link.png"\] Alt text: Video link [Virtual Agent Academy: Dynamically translate languages in Virtual Agent](https://www.youtube.com/watch?v=QiwwPii5rq4&list=PLkGSnjw5y2U79gjQuQW-2GBqzEccwFkWH&index=5) Watch this video for a demonstration of using Virtual Agent with Dynamic Translation. **Note:** You can use language detection independently of Dynamic Translation. ## Language detection and Dynamic Translation process in Virtual Agent NLU and LLM standard chat conversations When you enable language detection and Dynamic Translation for Virtual Agent for other languages, a variety of diverse users gain access to your Virtual Agent chat environment. Language detection for NLU and LLM conversations are enabled in the same location. For more information on enabling language detection, see [Enable Dynamic Translation for languages in Virtual Agent](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/enable-dynamic-lang-detection.md). Dynamic Translation for NLU and LLM conversations are enabled in different locations. For more information on enabling dynamic translation, see [Enable Dynamic Translation for languages in Virtual Agent](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/enable-dynamic-lang-detection.md) and [Configure multilingual service for ServiceNow Otto applications](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/enable-dynamic-translation-for-now-assist-applications.md). Language detection is only applicable to the first utterance entered into the conversation. Conversational language switching cannot occur mid-conversation. Language detection prompts users with a question regarding whether they'd like to switch the conversational language during Virtual Agent NLU or LLM standard chat conversations. When language detection is turned off, no conversational language switching can occur. The default system language sets all users’ default session language. That user's default session language is what sets the conversational language. It is also the preferred language in your NLU model, if NLU is enabled. When a user types an utterance that is not recognized as the system language, the results depend upon your configuration for that language. The following examples show how a conversational language can be impacted depending upon the language detection and dynamic translation settings: **Note:** If you create exclusion rules for Dynamic Translation, those excluded terms are honored during Dynamic Translation. For more information about the Exclusion Framework, see [Exclusion Framework in Dynamic Translation](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/dyn-translation-exclusion-framework.md).
| Language configuration | Results in Virtual Agent NLU or LLM standard chat conversations |
|---|---|
| Language detection and Dynamic Translation are not configured. | For unlocalized conversations, the language the topics appear in is dependent on the language they were authored in. Typically, the default system language is used for topics and topic discovery. |
| Language detection is enabled, but not Dynamic Translation | Language responses can show up differently depending on whether localization was done or not for those topics. The conversation language may continue in the detected language based on whether localization records for those topics were previously included. If localization records are not provided, the conversation language would continue in the preferred conversational language. If the detected language is a locale or other language code that has been configured with a fallback language, Virtual Agent asks the user if they want to switch the conversation to the fallback language. For example, if the detected language is Mexican Spanish \(mx-es\), and Spanish \(es\) has been designated as the fallback language, Virtual Agent asks: `I have detected you are typing in Spanish. Would you like to switch the conversation to Spanish? (Yes/No)` If the user selects **Yes**, the fallback language is used for topic discovery and topic display. This continues until the conversation ends. If the user selects **No**, Virtual Agent will not prompt them again during the conversation. |
| Language detection and Dynamic Translation are enabled | If the detected language is enabled for dynamic translation in Virtual Agent Chat Settings, Virtual Agent asks the user if they want to switch the conversation to the detected language. For example, the preferred conversational language is in English but the user types an utterance in Spanish. The user receives a prompt asking whether they'd like to switch the conversation to Spanish. The prompt reads, `I have detected you are typing in Spanish. Would you like to switch the conversation to Spanish? (Yes/No)` If the user selects **No**, Virtual Agent will not prompt them again during the conversation and the conversation continues in English. If the user selects **Yes**, the utterance is translated to the default language. The default language for NLU conversations is within the **glide.sys.language** system property. The default language for LLM conversations is within the **com.glide.cs.llm.default.Language** system property. All topic matches are translated dynamically into the user's conversation language and displayed. In this example, the conversation will now continue in Spanish and Virtual Agent expects the user to continue chatting in Spanish. After the conversation ends and the user restarts a new conversation by reloading their browser or initially navigating to a portal with no conversation in progress, the prior conversational language \(Spanish in this example\) continues. |