如何验证本地化在Bot框架中是否正常工作

时间:2017-12-24 08:41:57

标签: c# botframework formflow

我使用RView和MAT工具为法语创建资源文件,如https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize中所述,以本地化表单流。如何验证本地化是否正常工作。基本上我需要一种方法来用我的法语在我的模拟器中测试表单流。 什么是设置 CurrentUICulture 或测试它的最佳/正确方法?

2 个答案:

答案 0 :(得分:2)

您可以在bot模拟器中设置区域设置,如下所示:

enter image description here

然后问题在于Bot SDK是否可以从客户端渠道获取区域设置信息并基于此自动设置文化信息。我无法找到任何可以指出这个问题的官方文件,我们只能对此进行测试。

如果机器人无法从客户端获取语言环境,则有两种解决方法可以解决此问题。

  1. 要提示用户,显示对话框以让用户选择首选语言,然后我们可以保存用户的选择,例如在azure存储表中。

  2. 使用Text Analytics API根据用户的输入自动检测用户的语言。

答案 1 :(得分:2)

如果您希望将区域设置设置为例如一直是法语(即整个对话),你可以在调用对话框之前在MessagesController.cs中的活动中设置语言环境,如下所示:

activity.Locale ="fr";
await Conversation.SendAsync(activity, () => new RootDialog());

在文档中提到activity.Locale会覆盖使用对话框的线程的文化。因此,您将很难在对话框中手动设置文化。