我已经在我的node.js基于AWS lambda的技能中成功集成了Alexa.HousholdListEvents。现在我正在尝试使用语言翻译,就像通常的意图/请求一样。
不幸的是在HousholdListEvent中"请求"不包含语言环境信息而不是翻译的字符串我只使用t()重复标识符。见下面的例子。我无法从收到的事件中获取区域设置信息,并且必须回到英语状态,这阻碍了我开始认证过程的技能。
如果您需要更多信息,请随时询问。如果需要,我非常乐意提供更多细节。
有什么建议吗?感谢帮助!
为什么我没有语言环境信息作为活动的一部分?
为什么t()没有按预期工作(就像普通意图一样)?
我如何根据原始语言环境在事件处理程序中进行翻译?
我的活动要求:
"request": {
"type": "AlexaHouseholdListEvent.ItemsCreated",
"requestId": "4a3d1715-e9b3-4980-a6eb-e4047ac40907",
"timestamp": "2018-03-12T11:20:13Z",
"eventCreationTime": "2018-03-12T11:20:13Z",
"eventPublishingTime": "2018-03-12T11:20:13Z",
"body": {
"listId": "YW16bjEuYWNjb3VudC5BRVlQT1hTQ0MyNlRQUU5RUzZITExKN0xNUUlBLVNIT1BQSU5HX0lURU0= ",
"listItemIds": [
"fbcd3b22-7954-4c9a-826a-8a7322ffe57c"
]
}
},
我的翻译用法:
this.t('MY_STRING_IDENTIFIER')
我的结果(在ItemsCreated事件处理程序中):
MY_STRING_IDENTIFIER
预期结果(与其他要求一样):
"This is my translated text"