无法在Botframework中更改语言

时间:2018-10-31 08:53:11

标签: botframework chatbot luis

我在botframework(Microsoft Azure)中创建了一个机器人,该机器人连接到LUIS应用程序。一切都很好。但是用英语。 Bot和LUIS App之间的连接已自动完成。

现在,我希望它以德语运行。因此,我在路易斯市创建了具有de-de文化的新应用程序。创造了我的德国意图。发表了。

我遵循了LUISChatBot中的指示。我可以检索LUIS AppID和授权密钥以及德语LUIS App的端点,以将其添加到我的Azure聊天机器人中。而且,该机器人只会继续理解英语的意图!

因此,我想该连接无法正常工作,如上面的说明中所述。更糟糕的是:即使我在Azure Chatbot设置的image中所表示的LuisAPIkey或LuisAPIId中未放任何东西(=删除ID和Key并让其为空),该机器人仍会继续理解英语意图!

我如何使其起作用?我查看了漫游器的代码,但是找不到在那里出现的密钥(这很有意义)。我发现的唯一想法是在BasicLuisDialog.cs中:

public BasicLuisDialog() : base(new LuisService(new LuisModelAttribute(
        ConfigurationManager.AppSettings["LuisAppId"],
        ConfigurationManager.AppSettings["LuisAPIKey"], 
        domain: ConfigurationManager.AppSettings["LuisAPIHostName"])))
    {
    }

谢谢您的时间

2 个答案:

答案 0 :(得分:0)

半答案:我可以通过更改Azure(西欧)的区域来更改语言,然后使用eu.luis.ai。

但是我仍然不知道为什么当我在Azure中删除LUIS的键和终结点时,聊天机器人为什么仍能继续工作。

答案 1 :(得分:0)

您可以使用

var english = new Option();
english.Locale = "en-US";

参考:GitHub

在BotSDK v4.0中,您可以使用System.Globalization.CultureInfo("en-US");将现有语言翻译成所需的语言。