botframework - 如何使用 FormFlow 支持其他语言?

标签 botframework

我构建了一个机器人并且它运行良好,我正在使用 FormFlow 来完成调查问卷。我需要使用西类牙语的命令,但它只适用于英语(帮助、退出、重置...),模拟器除外。

使用模拟器并将区域设置更改为“es”正在工作:
Emulator in Spanish
当我输入“ayuda”时,会显示帮助。没关系。

在 Bot 个人资料页面中,该机器人以西类牙语发布(使用“es”):
Bot profile in spanish

该机器人发布在 Skype、Facebook Messenger、Slack 和 Telegram 中。

当我在 Android 中使用带有“Estados Unidos - Español”或“España - Español”语言的机器人并用西类牙语输入“ayuda”或其他命令时,机器人用“'Ayuda'不是[字段] 选项”消息,但是当输入是“帮助”时,它运行良好。

Skype Android in spanish

有什么我想念的吗?

最佳答案

我使用 ngrok 来查看 Emulator 和机器人之间交换的消息,使用 Locale 字段(使用 es、es-US、es-PA、es-ES 等)西类牙语的消息正在工作。

在此之后,我在 bot 中编写了一个小命令来获取语言环境,该字段永远返回一个空值(带有 es、en 等)。

最后,我在 Post 方法的 MessagesController 中设置了语言环境。

activity.Locale = "es-US";

机器人正在像我想要的那样用西类牙语工作。

这是最好的解决方案吗?

关于botframework - 如何使用 FormFlow 支持其他语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38939483/

相关文章:

node.js - 使用 DirectLine 和网络聊天 (Node.js) 在 bot-framework v4 中发送打字指示符

c# - Azure 是否公开了 api 来支持在 azure 门户中创建资源?

azure - 我如何知道对我的机器人的请求源自 Teams?

botframework - 如何加载可变的 Microsoft Teams 机器人图标?

asp.net-web-api - Bot Framework 中的自动化部署(Bot + LUIS+ QnA + Table Storage)

azure - 如何将 Xamarin 表单应用与 Azure Directline 语音机器人集成?

c# - 如何在 MS Teams 中诱导 "See More"进行长机器人响应

node.js - 将 onEnabled 方法与 QnAMakerRecognizer 结合使用

c# - 在android中访问azure中的机器人

c# - 如何使用 c# 在 BOT V4 中添加通过卡片内的提示选项显示的自定义选项并触发选项单击操作?