【发布时间】:2020-02-03 10:57:54
【问题描述】:
我目前正在使用 Google SDK 上的 Actions 和 Microsoft 的 Bot Framework 进行操作。在此操作中,我构建了一个后备方案,如果用户通过语音多次未能输入产品代码,则允许用户在手机上输入产品代码。此设置在英语中运行良好,但我的操作是多语言的,并且也支持荷兰语和法语。
我遇到的问题是,当用户在荷兰语或法语中使用我的操作时,当他们接受将对话转移到他们的手机时,一旦它在我的手机上,对话就会以英语继续。您可以在下面找到我在处理程序中使用的代码。
新的表面处理程序
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