Я использовал инструменты RView и MAT для создания файлов ресурсов для французского языка, как описано в https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize, чтобы локализовать поток формы. Как я могу проверить, правильно ли работает локализация. В основном мне нужен способ проверить поток формы в моем эмуляторе на французском языке. Какой лучший / правильный способ установить CurrentUICulture или проверить это?
Как проверить, правильно ли работает локализация в Bot framework
Ответы (2)
Вы можете установить языковой стандарт в эмуляторе бота следующим образом:
Тогда проблема в том, может ли Bot SDK получать информацию о локали из клиентских каналов и автоматически устанавливать информацию о культуре на ее основе. Я не смог найти никаких официальных документов, которые могли бы указать на эту проблему, мы можем только провести тест на этом.
Если бот не может получить языковой стандарт со стороны клиента, есть два обходных пути для решения этой проблемы.
Чтобы запросить пользователя, покажите диалоговое окно, позволяющее пользователю выбрать предпочтительный язык, а затем мы можем сохранить выбор пользователя, например, в таблице хранилища Azure.
Используйте Text Analytics API для автоматического определения пользователя. язык на основе ввода пользователя.
Если вы хотите, чтобы ваш языковой стандарт был, например, Всегда французский язык (т.е. для всего разговора), вы можете установить языковой стандарт в действии в MessagesController.cs перед вызовом диалогового окна, например:
activity.Locale ="fr";
await Conversation.SendAsync(activity, () => new RootDialog());
В документации упоминается, что activity.Locale переопределяет язык и региональные параметры потока, в котором используются диалоги. Из-за этого вам будет сложно вручную настраивать культуру в диалоговых окнах.
fr
дляLocale
, например, this . - person Grace Feng   schedule 25.12.2017