我用两种语言编码机器人(en,es),这些语言总是可以通过DirectLine API访问。
本地化语言由当前线程的CurrentUICulture和CurrentCulture确定。
从DirectLine API将语言传递给BOT的正确方法是什么,因此可以通过CurrentCulture获取?
答案 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");
我知道这不是最好的方法,但也许它会为你效劳。