2012-01-26 7 views
0

私は以下のresourceBundle Javascriptオブジェクトを持っています。ResourceBundleでのメソッドの使用国際化のためのJavascriptオブジェクト

var resourceBundle = { 
    en : { 
     "MSG1" : "Message 1", 
     "MSG2" : "Message 2" 
    } 
} 

ご覧のとおり、これは英語です。それで、私は、フランス語(fr)のために別の分岐を作ることができます。 resourceBundle ['en'] [key]は、「Message 1」、「Message 2」を取得するだけで問題ありません。しかし、パラメタを使ってメッセージを作成したいのであれば、私は何ができますか?もしそうなら、メソッドを使うことはできますか?

私が言っていることは、このようなものです。私はMSG3を次のように追加したいと思います。

"MSG3" : "welcome "+userName; 

ない正確な方法、回避策

答えて

1

は、以下のことを試してみてください。

resourceBundle['fr'] = []; // create new 
resourceBundle['fr']['MSG1'] = "test"; // add value 

alert(resourceBundle['fr']['MSG1']); // test 

やベースなどのDavidさんの答え@使用:

function createMessage(key, value, locale) { 
    if (resourceBundle[locale] == undefined) { 
     resourceBundle[locale] = []; 
    } 
    resourceBundle[locale][key] = value; 
} 

createMessage('Pardon my french', 'MSG1', 'FR'); 
+0

編集したquestion.pardonを参照してください。私は – ghTvNath

+0

の前にnit clearであった@ghTvNath同じ答え - あなたはあなたのパラメータ、つまり 'createMessage( 'me 'ssage' +ユーザ名、 'MSG1'、 'FR'); ' – ManseUK