dialogflow JSON 中的 LanguageCode 不适用于 Google 上的操作

LanguageCode in dialogflow JSON not working on Actions on Google

我正在使用 dialogflow JSON 在收到请求后向用户发送响应,但是当在 JSON 中使用 languageCode 参数时,响应在 dialogflow 模拟器中正确显示,但在 AoG 模拟器中不正确。 语言代码“en”不起作用,因为它可以使用不同的语言标签。(https://dialogflow.com/docs/reference/language)但是具有单一语言标签的语言,例如 Danish 工作正常。

代码如下

 if(request.body.queryResult.languageCode === "da"){
    // The following code is working
    } else if(request.body.queryResult.languageCode === "en"){
    // not working on AoG simulator but working in dialogflow simulator as en has different language tags such as en-AU,en-US,en-IN etc.
    } else if(request.body.queryResult.languageCode === "en-IN" || request.body.queryResult.languageCode === "en-GB"){
    // the following code is also not working on AoG simulator but working on dialogflow
}

Dialogflow 将这些代码作为所有小写代码发送:"en-us"、"en-in" 等

如果输入来自 Google 上的操作,可能更好的办法是查看 request.body.originalDetectIntentRequest.payload.user.locale,它使用正确的语言环境编码:"en-US"、"en-IN"、"es-409",等等