2016-09-01 51 views
4

我使用兩種語言(en,es)編寫bot,這些語言將始終通過DirectLine API訪問。BotFramework - 如何從DirectLine API傳遞語言

documentation說:

本地化語言由當前線程的CurrentUICulture和的CurrentCulture確定。

將語言從DirectLine API傳遞到BOT的正確方法是什麼,這樣可以通過CurrentCulture獲得?

回答

0

我還沒有找到一個正確的方法來做到這一點,但我使用了一種解決方法。

當你給你的用戶一個ID,添加文化。就像這樣:

id: 'en-'+ idGeneratedByYou 
從控制器

然後:

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

最後,做一個開關,並根據它是連接或ES:

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

我知道這是不是最好的方法,但也許它會爲你工作。