Internationalization of Chat | Yext Hitchhikers Platform
Chat can respond to user messages in an array of languages. If Chat detects that a user message is in a language that differs from the language that your bot (or Search experience!) is configured in, it will translate responses back to the user in their language.
Chat relies on third-party models (e.g., ChatGPT) to respond in the language of the user message. Therefore, the languages that Yext Chat can support aligns with the languages that ChatGPT supports. Performance is generally better in languages with extensive training datasets, which often correlates with the number of speakers and the prevalence of the language on the internet.
Non-Search Goals
For goals without a Search instruction, Chat responds in the language of the user’s query. If a user asks a question in Spanish, the bot replies in Spanish.
When a user inputs a message in Spanish, that input is run through the example phrases set up in each Chat goal to then match to the correct goal. Our predictGoal
prompt supports all languages and, therefore, Chat does not need to translate the user message to match to a goal.
When the bot responds via a reply instruction action, there is logic set up to ensure your bot always responds in the language detected from the user‘s message.
For example, you can set up a goal with a verbatim reply action that tells the bot to respond “Please call us” when a user inputs “How can I contact you?”. When a user inputs that question in Spanish, “¿Cómo puedo contactarte?”, the bot will match it to the correct English goal. Based on the goal, the bot will know the correct English response which it will then translate back to Spanish, “Por favor llámanos.”
Search Goals
For goals that have a Search instruction, the process is similar to the example above. However, the bot will need to translate the query into the language of the associated Search experience.
For example, you can set up a goal that is triggered by the prompt, “How many days do I have to return my order? “ which will then run that query through a Search experience to look for the answer in Yext Content.
If a user inputs the Spanish prompt “¿Cuántos días tengo para devolver mi pedido?”, Chat will again determine the proper goal associated with the prompt as well as the query that it needs to run through your Search experience. Both are done without requiring translation.
Once Chat determines the query that it will run through Search, the bot will translate that Spanish query into English. Search will find the correct English entity. In this case, it will be an FAQ entity with the answer field being “You have 30 days to return an item”. Chat will then translate that response back to Spanish so the user will see the answer as “Tienes 30 días para devolver un artículo.”
This logic applies to all cases where a user’s detected language and the language of the linked Search experience differ.
Support for Multiple Search Experiences
As you learned above, Chat can run queries through Search for languages even if the language differs from the one that the Search experience is built with. We recommend that translations are done through this default method as it eliminates the need for additional setup and ensures accurate language-specific responses.
However, there may be cases where accounts have existing Search backends in multiple languages. If the content is inherently different from language to language (e.g., there are different FAQ entities for each region or only Japan location entities are surfaced in the Japanese Search experience), then Chat can be set up to gather that information from those respective experiences if the user’s detected language matches.
If you have multiple Search experiences built out that you want to link in Chat, you will need to create multiple goals utlizing the search instruction action to then link to each respective Search experience.
For example, if you want your bot to use a Japanese Search experience when a user submits a message in Japanese, you will need to first create a goal. Name it something like “Answer a question in Japanese” with the goal ID “ANSWER_QUESTION_JA”.
Within the goal, add a Search instruction with the Search experience linked to your Japanese experience and the locale set to ja
. Lastly, you will set a direct answer reply instruction to respond to the user with the answer found from Search.
If you have Search setup for multiple languages, you can repeat this process for each Search experience.