Что контролирует локаль пользователя при выполнении передачи на телефон - PullRequest
1 голос
/ 03 февраля 2020

В настоящее время я работаю над действием, используя Действия в 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. Это заставляет меня думать, что локаль берется из настроек на моем телефоне, но я не могу найти ничего в этой документации. Кто-нибудь знает, что может быть причиной переключения в локали при выполнении передачи на телефон?

1 Ответ

2 голосов
/ 03 февраля 2020

Насколько я понимаю, локаль основана на локали устройства, отправившего запрос.

На этой странице "Языки и локали" (выделено мной) написано:

Языки построены с использованием языка, установленного в настройках Assistant и регион, заданный в настройках устройства . Комбинация этих должна сформировать поддерживаемую локаль. Например, устройство, для которого задан регион BR, и устройство Assistant, настроенное для en-US, приводят к языку en-BR, который не поддерживается в Google Actions.

...