2017-01-31 2 views
2

私はボットフレームワークとAzure Botサービスを使っていましたが、セッションのpreferredLocaleを設定すると、すべてのプロンプトの言語は変更されますが、送信されるテキストは変更されません。このようにロケールを設定するAzure Botサービスノードでローカライゼーションが動作しない

session.preferredLocale('es', (error) => { 
     if (typeof error === 'undefined') { 
      session.send('greeting'); 
     } 
}); 

はスペインに内蔵されたプロンプトを変更しますが、ローカライズされたグリーティングメッセージをロードする代わりに、「挨拶」プレーンテキストメッセージを送信しません。

var bot = new builder.UniversalBot(connector).set('localizerSettings', { botLocalePath: "./locale", defaultLocale: "en" }); 

私のボットは、この例のように、デフォルトのローカライゼーション設定を使用しますが、私のロケールフォルダではなくcustomLocaleのロケールと呼ばれています。

アイデア?

+1

は、この問題の解決策を見つけた: https://github.com/Microsoft/BotBuilder-Azure/issues/2 簡潔に: ボットサービスの紺碧ノードでローカライゼーションを使用する場合は、手動でボットロケールパスを設定する必要があります。問題は主に、デフォルトロケールパスがLinuxパスとして設定され、システム間で正規化されていないことでした。 path.joinを使用すると、Node.jsプロセスが実行されているシステムが必要になります。 –

答えて

0

この方法では、私たちのために働く

var bot = new builder.UniversalBot(connector, 
function(session){ 
    session.preferredLocale('es', function(err){ 
     if (!err) { 
      console.log("Locale: es"); 
     } else { 
      console.log(err); 
     } 
    }); 
... 

は、ウェブチャットとdirectlineにうまく動作(この1つはENに常にあることを起こる、私たちはESでそれを必要とする)

関連する問題