BotFramework - 如何从DirectLine API传递语言

时间:2016-09-01 04:58:06

标签: botframework

我用两种语言编码机器人(en,es),这些语言总是可以通过DirectLine API访问。

documentation说:

  

本地化语言由当前线程的CurrentUICulture和CurrentCulture确定。

从DirectLine API将语言传递给BOT的正确方法是什么,因此可以通过CurrentCulture获取?

1 个答案:

答案 0 :(得分:0)

我还没有找到合适的方法,但我使用了一种解决方法。

当您为用户提供ID时,请添加文化。像这样:

id: 'en-'+ idGeneratedByYou

然后从控制器:

var culture = activity.From.Id.Split('-')[0];

最后,做一个开关,并根据它是en或es:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-ES");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("es-ES");

我知道这不是最好的方法,但也许它会为你效劳。