Как проверить, правильно ли работает локализация в Bot framework

Я использовал инструменты RView и MAT для создания файлов ресурсов для французского языка, как описано в https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize, чтобы локализовать поток формы. Как я могу проверить, правильно ли работает локализация. В основном мне нужен способ проверить поток формы в моем эмуляторе на французском языке. Какой лучший / правильный способ установить CurrentUICulture или проверить это?


person Ashwin Kumar    schedule 24.12.2017    source источник
comment
Вы спрашиваете, как смоделировать французскую культуру в эмуляторе? Если это так, вы можете просто щелкнуть запись для URL-адреса и использовать fr для Locale, например, this .   -  person Grace Feng    schedule 25.12.2017
comment
@ GraceFeng-MSFT Спасибо! Вот чего я хотел. Еще один вопрос, как настроить культуру для реального пользователя в канале ms team.   -  person Ashwin Kumar    schedule 26.12.2017
comment
Я здесь немного запутался, обычно мы определяем языковой стандарт, предлагая пользователю выбрать предпочтительный язык, хотите ли вы, чтобы ваш бот автоматически менял язык в соответствии с клиентским каналом пользователя?   -  person Grace Feng    schedule 27.12.2017
comment
Или вы хотите определить языковой стандарт по вводу пользователя?   -  person Grace Feng    schedule 27.12.2017
comment
Обдумывал варианты @ GraceFeng-MSFT. Как вы упомянули - подсказка пользователя, а также автоматическое обнаружение. Но я полагаю, что буду использовать метод подсказки пользователя. Есть ли какие-либо образцы для этого, например, где хранить выбранный язык - должен ли он быть в государстве или где-то еще и т. Д.?   -  person Ashwin Kumar    schedule 27.12.2017


Ответы (2)


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

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

Тогда проблема в том, может ли Bot SDK получать информацию о локали из клиентских каналов и автоматически устанавливать информацию о культуре на ее основе. Я не смог найти никаких официальных документов, которые могли бы указать на эту проблему, мы можем только провести тест на этом.

Если бот не может получить языковой стандарт со стороны клиента, есть два обходных пути для решения этой проблемы.

  1. Чтобы запросить пользователя, покажите диалоговое окно, позволяющее пользователю выбрать предпочтительный язык, а затем мы можем сохранить выбор пользователя, например, в таблице хранилища Azure.

  2. Используйте Text Analytics API для автоматического определения пользователя. язык на основе ввода пользователя.

person Grace Feng    schedule 27.12.2017

Если вы хотите, чтобы ваш языковой стандарт был, например, Всегда французский язык (т.е. для всего разговора), вы можете установить языковой стандарт в действии в MessagesController.cs перед вызовом диалогового окна, например:

activity.Locale ="fr";
await Conversation.SendAsync(activity, () => new RootDialog());

В документации упоминается, что activity.Locale переопределяет язык и региональные параметры потока, в котором используются диалоги. Из-за этого вам будет сложно вручную настраивать культуру в диалоговых окнах.

person Pieter Heemeryck    schedule 05.01.2018