В настоящее время я работаю над действием, используя Действия в Google SDK вместе с Microsoft Framework Framework. В этом действии я создал запасной вариант, который позволяет пользователю вводить код продукта на своем телефоне, если они не смогли сделать это пару раз с помощью голоса. Эта настройка прекрасно работает в Engli sh, но мое действие многоязычное и поддерживает также голландский и французский языки.
Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь использует мое действие на голландском или французском языке , когда они соглашаются перенести разговор на свой телефон, разговор продолжается на английском языке sh, как только он появится на моем телефоне. Ниже вы можете найти код, который я использую в своем обработчике.
Новый обработчик поверхности
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));
};
});
С того момента, как запрос поступил в мой веб-крючок, язык моих разговоров перешел на en-US. Это заставляет меня думать, что локаль берется из настроек на моем телефоне, но я не могу найти ничего в этой документации. Кто-нибудь знает, что может быть причиной переключения в локали при выполнении передачи на телефон?