2017-06-02 6 views
0

私はbotbuilderフレームワークを使用しています。 helpdefaultのように、私が作成したダイアログのいくつかの名前空間を定義しました。これらのすべてについて私はlocale/en/ディレクトリにjsonファイルを作成しており、すべて正常です。 しかし、私は非常に一般的ないくつかの文章を持っており、それらを個々の名前空間のそれぞれにコピーする気がしません。私はindex.jsonを名前空間ファイルが文字列を定義していない場合の「フォールバック」として使用しようとしました。しかし、それは私のためには機能しません。 documentationとは対照的に、Botbuilder名前空間がそれを定義していない場合のデフォルトロケール文字列の使用方法

lib = new builder.Library('help') 
lib.dialog('/', (session) => { 
    session.send('custom_cancel') 
} 
module.exports = lib 

ライブラリがbot.jsで使用されています:

{ 
    "custom_cancel": "My custom cancel" 
} 

bot.library(require('./dialogs/help')) 

そしてindex.jsonこのコンテンツを持っている

/locale 
    /en 
    /help.json 
    /default.json 
    /index.json <-- Doesn't work 
/dialogs 
    /help.js 
    /default.js 
bot.js 

は、私が help.jsに次のライブラリを持っていると言います一方

は空です:

{} 

help.jsoncustom_cancelを持っていないので、ボットが実際に文字列としてcustom_cancelを送信します。

再び。私は両方の場所に文字列を貼り付けてコピーすることができ、それ以上の問題はありません。しかし、それは私にとって醜い解決策のように思えます。

+0

何が問題なのですか? –

+0

@EzequielJadib私は質問を編集しました。これがあなたに明瞭になるかどうか私に教えてください。 –

+0

コードを投稿できますか? –

答えて

0

もっと多くの場合に役立つと思われるexplicitバージョンを試しましたが、まだ完全にはわかりません。

session.localizer.gettext(session.preferredLocale(), 'custom_cancel') 

名前空間には3番目の引数を使用できます。 ''index.jsonファイルを指しているようです。

関連する問題