【问题标题】:Skype response language parameterSkype 响应语言参数
【发布时间】:2018-05-23 06:16:35
【问题描述】:

通过网络 Skype 向机器人发送请求时,它正在发送区域设置为“en-US”。我如何将其更改为任何其他语言? Skype 如何自动决定将其发送到“en-US”?

'entities': [{'locale': 'en-US', 'country': 'US', 'platform': 'Web', 'type': 'clientInfo'}]

【问题讨论】:

  • 你在使用.Net SDK吗?
  • 不,我正在使用 Microsoft bot python SDK。
  • 我添加了标签 [botframework-v4],因为它是 Python 的 SDK
  • 我相信这是在客户端设置本身中设置的,因此这取决于您使用的客户端。您使用的是 Skype WebChat 还是 Windows 版 Skype 之类的东西?你用的是哪个版本?
  • @StevenG。我正在使用 Skype for windows .!我的问题是为什么当我用俄语发送请求时它显示区域设置为“en-US”?

标签: botframework skype skypedeveloper


【解决方案1】:

可能的答案

我无权访问 Bot Connector 资源,因此很难确保我的回答有效,但我认为您的语言值来自以下属性之一:

  • Skype 个人资料的语言
  • 您正在使用的已安装 Skype 应用程序的语言
  • 您使用 Skype 的操作系统的语言

为什么我假设它是这些值之一?

你可以看看它是如何在其他频道制作的,特别是如果你看看开源网络聊天频道,你会看到以下here

locale: props.locale || (window.navigator as any)["userLanguage"] || window.navigator.language || 'en'

所以在网络聊天中,它正在使用(按优先级顺序):

  • 网络聊天属性中设置的语言环境(例如来自 queryString)
  • 导航器的“userLanguage”(如果有)
  • 导航器语言(如果有)
  • en 作为默认值

【讨论】:

  • 在此 Bot Framework 的基础上构建不会解释用户设置区域设置的请求;我也希望 Skype 也不会这样做。正如 Nicolas 提到的并且我在对该问题的评论中指出的那样,它很可能是由客户端在生成请求时设置的。您应该尝试更改 Skype settings 并查看当活动遇到您的机器人时区域设置是否发生更改。
  • 要在机器人中设置语言环境,您可以提示用户选择他们的语言环境并将该语言环境存储在用户数据包中;这里有两个例子:Node.jsC#
  • @StevenG。我认为 Skype 没有提供我们自己设置区域设置的选项。正如 Nicolas 建议的那样,可能是因为 Skype 配置文件或操作系统语言。我需要检查并会更新你们。感谢您的支持!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多