How to create a multilanguage chatbot

Building a multilanguage chatbot is not simple as the flow construction poses multiple questions that needs an answer before laying out the flow. Using Xenioo we can build multilanguage chatbots using mainly three different approaches.

One chatbot for each language

This is, by far, the simplest way of creating a multilanguage bot and yet, it is not always possible. If your chatbot is on Facebook or WhatsApp it may be impossible to have more than one bot reply to the same page or phone number.

The plus of this approach, if applicable to your chatbot channel, is that different flows and interactions related to specific languages will stay completely separated and will be much easier to maintain.

One flow for each language

Building one flow for each language is slightly more complicated than the previous approach but completely eliminates the issue of having multiple chatbots on a channel. You have one single chatbot that can talk multiple languages and does that by detecting your user language.

On any channel where available, Xenioo will automatically fill a variable called “locale”. Using this variable we can automatically redirect the user to a different flow.
This approach will make updates a little harder as minor changes need to be applied to different parts of our chatbot (one for each language) but if you think your flow may differ from language to language this is the best way to go.

Web Channel Chatbots

The Web channel will automatically fill the locale variable using the current browser language settings.

One flow and Dynamic Variable Text

Using this approach you will be building a single flow for your chatbot but all of the text used in bubbles will be a reference to some variable that you initialize on startup. A single flow with Dynamic Variable Text may look like this:

As you can see we’re making a single flow after initializing our text variables with different languages: this will simplify our chatbot flow and make updates and changes much easier. If your chatbot flow is not expected to change from one language to another this may be the best approach for a multiple language bot.