2017-12-24 15 views
0

フォームフローをローカライズするために、RViewとMATツールを使用してフランス語のリソースファイルを作成しました(https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize)。ローカリゼーションが正しく機能しているかどうかを確認する方法を教えてください。基本的には、エミュレータのフォームフローをフランス語でテストする方法が必要です。 CurrentUICultureを設定するか、これをテストするのに最適な方法はありますか?ボットフレームワークでローカリゼーションが正しく機能しているかどうかを確認する方法

+0

エミュレータでフランス文化をシミュレートする方法をお尋ねしますか?もしそうなら、urlのためのエントリをクリックし、[this](https://i.stack.imgur.com/d9ByC.png)のような 'Locale'に' fr'を使うことができます。 –

+0

@ GraceFeng-MSFTありがとう!それが私が望んだことです。さらにもう1つの質問ですが、msチームのチャンネルで実際のユーザーのために文化がどのように設定されるのでしょうか。 –

+0

私はちょっと混乱しています。通常、ユーザーにプロンプ​​トを表示してロケールを決定し、ユーザーが優先言語を選択させるようにします。ユーザーのクライアントチャネルに応じて自動的にボットを変更しますか? –

答えて

1

あなたはこのようボットエミュレータでロケールを設定することができます。

enter image description here

はその後ポイントの問題は、ボットのSDKは、クライアントチャネルからロケール情報を取得できるかどうかということで、それに基づいて自動的に設定文化情報。私はこの問題を指摘できる正式な文書を見つけることができなかった、私たちはそれについてのみテストを実行することができます。

ボットがクライアント側からロケールを取得できない場合は、この問題を解決するための2つの回避策があります。

  1. ダイアログを表示してユーザーが優先言語を選択できるようにすると、ユーザーの選択内容をたとえば空白のストレージの表に保存できます。

  2. Text Analytics APIを使用すると、ユーザーの入力に基づいてユーザーの言語が自動的に検出されます。

1

ロケールを「すべての時間(すなわち全体の会話のための)フランス語、あなたがそうのように、ダイアログを呼び出す前にMessagesController.csでの活動にロケールを設定することができます。

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

これは、オーバーライドをactivity.Localeドキュメントに記載されていますダイアログが使用されるスレッドのカルチャ。このため、ダイアログ内で手動で自分で文化を設定するのは難しいでしょう。

関連する問題