日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Teams Bot如何做全球化

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Teams Bot如何做全球化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Office365在全球有大量的用戶,可以說是擁有最多用戶的商業SaaS平臺。Teams最近在發展迅猛,有1300萬日活用戶,已經超越了Slack。??Microsoft Teams overtakes Slack with 13 million daily users

我在設計Teams LuckyDraw bot的時候就希望我的bot能夠被全世界的用戶所使用,這個實際上還是一個非常有挑戰的事情。拋開各國的法律法規要求(比如歐盟的GDPR,國家領土歸屬問題)不說,拋開不同宗教文化要求不說,單單多語言,多時區就是十分復雜。

舉幾個語言的例子:

  • 英語里有單復數,中文和一些語言里就沒有。你在設計多語言界面的時候就需要注意
  • 即使是英語,美式英語(en-US),英式英語(en-UK),印度英語(en-IN),有很多區別
  • 大多數語言是從左到右書寫,但是有些是從右到左。界面設計特別需要注意

再舉幾個時區的例子:

  • 有很多土地領域較大的國家,不像中國只有一個時區,同一個國家有幾個時區是很正常的事情
  • 有些國家有些區域有夏令時。比如澳大利亞的布里斯班和悉尼,雖然在一個時區,但是悉尼有夏令時,也就是說平時大家時間一樣,但是一到夏天,時間就變得不同了
  • 不同國家對于每周第一天是周一還是周日,定義不同
  • Samoa和Tokelau這兩個地方沒有2011年12月30日這一天,他們直接從29日跳到了31日(?具體原因?)。不知道這種事情會不會再次發生 (看到這里大家是不是和我當時一樣,心里一萬個。。。。)
  • 日本從2019年5月1日開始新的calendar,為此,Windows等系統,.NET等運行環境,各類時間處理的庫都全面升級,打補丁,出新版本

看了上面幾個例子,是不是覺得很無語。是不是瞬間覺得那些國際化的SaaS平臺有多偉大和復雜。

那我們來看看Teams app/bot如何處理時間問題,一個好消息是Teams已經幫我們處理了很多問題,來看一下Teams發送給bot的請求payload:

{"name": "composeExtension/fetchTask","type": "invoke","timestamp": "2019-06-17T14:32:04.956Z","localTimestamp": "2019-06-18T00:32:04.956+10:00","id": "f:1361493733941541435","channelId": "msteams","serviceUrl": "https://smba.trafficmanager.net/apac/","from": {"id": "29:1l8B9m9SOOdHTqLDgmXvSrJyHfwd2ihooa7cxgtzJ8QjQ4WFC4mA_8K2Sa7jL-xUh7g4yh8sZIiDOX6vTtoaz6w","name": "Tony Xia","aadObjectId": "56c6599d-9216-4078-a8cf-3f039d36e1fd"},"conversation": {"isGroup": true,"conversationType": "channel","tenantId": "aece5000-341d-493a-841d-f67e417f1447","id": "19:bf1cbc367561473db0c3fe762c11b508@thread.skype"},"recipient": {"id": "28:89e9cdd8-f500-4696-a701-7c2323f62a86","name": "TestMsgExt"},"entities": [{"locale": "en-US","country": "US","platform": "Windows","type": "clientInfo"}],"channelData": {"channel": {"id": "19:bf1cbc367561473db0c3fe762c11b508@thread.skype"},"team": {"id": "19:bf1cbc367561473db0c3fe762c11b508@thread.skype"},"tenant": {"id": "aece5000-341d-493a-841d-f67e417f1447"},"source": {"name": "compose"}},"value": {"commandId": "start","commandContext": "compose","context": {"theme": "default"}},"locale": "en-US" }

上面這個payload里有幾個關鍵的值:

  • timestamp:當前的UTC時間
  • localTimestamp:當前用戶所在的他/她的本地時間,加號后面的小時數針對UTC時間的offset
  • locale:當前用戶所使用的語言

有了這幾個參數,實際上就你的bot就知道改如何處理了吧?

不過,在具體的bot設計中,你還需要時刻留意這幾點:

  • 一家公司(一個office365的tenant,可能有使用不同語言的人,可能分散在不同國家,在不同時區)
  • 一個Team或者一個頻道channel里的用戶也可能使用不同語言,分散在不同國家,在不同時區
  • 即使是同一個用戶,他可能旅游或者出差到不同時區的不同國家,他可能在手機上的Teams是中文,但是桌面版本使用英文。

所以。。。所以大家要把你的Teams app走向全世界,需要精心設計,全面考慮。Good Luck!

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Teams Bot如何做全球化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。