The purpose of this page is to explain the Language Detector adapter and show an example of how to use this functionality in multiple language instances.
The Chatbot API and JS Client provide an endpoint and a method respectively, that allow you to detect the language of the user question. You can then use this information to suggest which one of your Inbenta instances would be the best suited to provide results to this question.
For more information about the language detector and to learn how to create the intents and variables recommended for this adapter, visit the following section.
Suppose that your website is www.inbenta-example.com, and you have it in both English and Spanish at www.inbenta-example.com/en/ and www.inbenta-example.com/es/.
In this example, you use the language detector when you detect that an input did not return any results.
onCustomTrigger subscription to detect when the chatbot has no results for the user query.
Inside this subscription, you perform a request to language detector and set the variable
different_language_detected with the results of the language detector.
Then, a directCall is done to
language-detection-after-no-results. This is a dialog with a
Redirect Language to Spanish website intent to ask the user to navigate to the Spanish website, and a
No different language detected intent with the default no-results message.
Answer_text attribute of the
Redirect Language to Spanish website intent has a message in Spanish that points the user to the correct website.
The Chatbot evaluates the variable condition to show one intent or the other, depending on the variable value.
<p> Parece que estás hablando en Castellano, dirígete a nuestra página en <a href="www.inbenta-example.com/es/">Castellano</a>. </p>
Inbenta does not recommend that you use the language detector on every user-message: This doubles the number of API requests performed by the SDK and it can impact your rate limits.
Follow the instructions suggested in the Language detector option 2
Use the No Results dialog, this dialog will be modified, and also a new intent with the
js_callback: customTrigger will be added.
This adapter can be found in the Github language detector adapter adapters repository.
onDisplayChatbotMessage removes the
end-form message after the js_callback is executed
Inside the subscription
onCustomTrigger (triggered by the js_callback), the language detection API Client method is used on the last user input. When the request finishes, set the
different_language_detected variable with the result of the language detector request. This is followed by a directCall to
This shows either a message that asks the user if they want to go to the correct website, or the no-results message.
onSendMessageto store the last user input and use it in the language detector endpoint.
This adapter uses of the following actions:
sendmessageto send the directCall.
In addition to the actions, it also uses the following subscriptions: