botframework v4 как запретить перевод имени пользователя текстового api переводчика языка в диалоговом окне водопада

#botframework #microsoft-translator

#botframework #microsoft-translator

Вопрос:

Я использую демонстрационный образец: образцы BotBuilder

5. многооборотное приглашение и 17.многоязычный бот объединяются в единый проект.

как я могу запретить переводчику языка автоматически переводить имя, вводимое пользователем, на другой язык?

например: если мое имя введено на тайском языке, то ответ бота не будет переведен на язык en / es.

Комментарии:

1. Какой SDK, C # или JS?

2. @JJ_Wailes узловые узлы

Ответ №1:

Я нашел два способа сделать это:

Если вы используете язык, использующий латинский алфавит (например, английский), вы можете выполнить поиск, чтобы узнать, включено ли имя пользователя в текст turnContext, и заменить его на <div class="notranslate">USERNAME_HERE</div> , как показано ниже (простите за смешные названия переменных)

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

Вы должны не забыть удалить форматирование, которое может возникнуть вместе со следующим:

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

Если вы используете язык с выделенным алфавитом (например, корейский), вам нужно выполнить определение в turnContext.onSendActivities имени пользователя, затем вырезать имя, перевести до и после, а затем собрать все это вместе:

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

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

Комментарии:

1. метод 2 аналогичен тому, что я делаю сейчас, который может поместить в обычное действие context.sendActivity, которое обнаруживает определенный шаблон в тексте и пропускает этот перевод, а в конце объединяет их все и возвращает пользователю. Большое спасибо @JJ_Wailes