什么是执行切换到电话时控制用户区域的设置

问题描述 投票:1回答:1

我目前正在使用Google SDK上的操作以及Microsoft的Bot Framework来进行操作。在此操作中,我建立了一个后备功能,如果用户几次无法通过语音输入,则允许用户在手机上输入产品代码。此设置可以用英语正常运行,但是我的操作是多语言的,并且也支持荷兰语和法语。

我遇到的问题是,当用户以荷兰语或法语使用我的动作时,当他们接受将对话移至手机时,对话一旦以我的手机继续以英语进行。在下面,您可以找到我在处理程序中使用的代码。

New Surface handler

endpoint.intent(GoogleIntentTypes.NewSurface, async (conv: ActionsSdkConversation) => {

  logger.logDebug("Received new surface request")
  const locale = conv.user.locale;

  if (conv.arguments!.get('NEW_SURFACE')!.status! === 'OK') {
    conv.ask(this.messages.getResponse("AskForProductNumber_SSML", locale));
  } else {
    conv.close(this.messages.getResponse("EndConversation_SSML", locale));
  };
});

从请求进入我的Webhook的那一刻起,我的对话区域设置便切换为en-US。这使我认为语言环境是从手机上的设置获取的,但是我在此文档中找不到任何内容。有谁知道执行手机切换时会导致语言环境切换的原因吗?

localization internationalization actions-on-google
1个回答
2
投票

我的理解是,区域设置基于发送请求的设备的区域设置。

[This page on "languages and locales"(强调我的意思)说:

构建语言环境使用助手设置中设置的语言和设备设置中设置的区域。这些需求的结合形成了一个受支持的语言环境。例如,设置为BR区域的设备和设置为en-US的助手设备会导致使用en-BR语言环境,而Google的Actions不支持该语言环境。

© www.soinside.com 2019 - 2024. All rights reserved.