Javascript_ nodejs v4 платформы ботов: невозможно использовать языковой стандарт по умолчанию в DateTimePrompt (голландский) - PullRequest
0 голосов
/ 09 июля 2020

На этапе диалога водопада мне нужна дата от пользователя. Язык пользователя - голландский. Я пробовал несколько вариантов, но язык продолжает использовать en-en. Голландские даты, такие как «1 апреля» и «26 июня», не распознаются.

Моя подсказка:

this.addDialog(new DateTimePrompt(WHEN_PROMPT, this.datePromptValidator, 'nl-nl'));

Я использую это так

const promptOptions = { retryPrompt: 'Hier kan ik geen datum uithalen.' };
return await stepContext.prompt(WHEN_PROMPT, promptOptions);

и валидатор

async datePromptValidator(promptContext) {
    return promptContext.recognized.succeeded;
}

Был бы признателен за помощь ...

1 Ответ

0 голосов
/ 10 июля 2020

Это «defaultLocale», скорее как запасной вариант, если нет указания, какой языковой стандарт пользователя предполагается .

В текущем коде activity.locale используется первым, если он существует :

const locale: string =  activity.locale || this.defaultLocale || 'en-us';

Это то, что указано в информации о параметрах :

  • @ param defaultLocale (Необязательно) языковой стандарт, который будет использоваться, если TurnContext.activity.locale не указан. По умолчанию установлено значение en-us.

То же самое и для других запросов:

Если вы столкнулись с этим во время тестирования, вот как изменить языковой стандарт в нескольких клиентах:

Эмулятор :

enter image description here

WebChat:

window.WebChat.renderWebChat(
        {
          directLine: window.WebChat.createDirectLine({
            token: 'YOUR_DIRECT_LINE_TOKEN'
          }),
          userID: 'YOUR_USER_ID',
          username: 'Web Chat User',
          locale: 'en-US', // CHANGE THIS HERE!!
          botAvatarInitials: 'WC',
          userAvatarInitials: 'WW'
        },
        document.getElementById('webchat')
      );

Команды :

Щелкните свой профиль, затем Настройки, затем:

введите описание изображения здесь

...