システム全体
                 src/js/components/sample/controller.jsを修正しましょう
             
export class Sample {
    constructor() {
    }
    sample_click(event) {
        alert(
            $f.componentMsg(this, 'key1', {'replace1': 'val1', 'replace2': 'val2', 'replace3': 'val3'}) + "\n" +
            $f.componentMsg(this, 'key2', {'replace1': 'val1', 'replace2': 'val2', 'replace3': 'val3'})
        );
    }
}
             
                 src/js/components/msg.json、src/js/components/msg.ja.json、src/js/components/msg.ja-JP.json、src/js/components/msg.en.json、src/js/components/msg.en-US.jsonを作成しましょう
             
{
     "key1" : "key1 => ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             msg.ja.json
             
{
     "key1" : "key1 => ja ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => ja ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             msg.ja-JP.json
             
{
     "key1" : "key1 => ja-JP ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => ja-JP ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             msg.en.json
             
{
     "key1" : "key1 => en ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => en ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             msg.en-US.json
             
{
     "key1" : "key1 => en-US ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => en-US ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             
             
                 実行してsampleボタンをクリック後、component sampleボタンをクリックしてみましょう
                 src/js/components配下に作成したjsonファイル内の値が出力されます
                 controller.js内で実行している$f.componentMsgは
                 src/js/components配下に作成したmsg.json内の値を返すメソッドです
                 componentMsgは第一引数にコンポーネントインスタンス、第二引数にmsg.jsonのキーを受け取ります
                 componentMsgメソッドの第三引数はjson内の${}で囲われた箇所を置換する値です。置換したくない場合は\を付けてください
                 msg.jsonはjsonなのでキー、値はダブルクォートで囲います。シングルクォートではありません
                 コンポーネントで使うmsg.jsonはsrc/js/components配下に作成します。これはフレームワークの規則です
                 また、msg.jsonだけでなく、msg.{使用する言語}.jsonを用意できます
                 使用する言語はクエリパラメーターlangの値、navigator.languageの値の優先順で適用されます
                 したがって、URLに?lang=enを付けてアクセスするとmsg.en.jsonに定義した値が出力されます
                 msg.{使用する言語}.jsonが存在しない場合、msg.jsonが適用されます
                 したがって、msg.ja.json、msg.ja-JP.json、msg.en.json、msg.en-US.jsonを削除してアクセスするとmsg.jsonに定義した値が出力されます
             
コンポーネント固有
                 src/js/components/sample/msg.json、src/js/components/sample/msg.ja.json、src/js/components/sample/msg.ja-JP.json、src/js/components/sample/msg.en.json、src/js/components/sample/msg.en-US.jsonを作成しましょう
             
{
     "key1" : "key1 => component ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => component ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             src/js/components/sample/msg.ja.json
             
{
     "key1" : "key1 => component ja ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => component ja ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             src/js/components/sample/msg.ja-JP.json
             
{
     "key1" : "key1 => component ja-JP ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => component ja-JP ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             src/js/components/sample/msg.en.json
             
{
     "key1" : "key1 => component en ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => component en ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             src/js/components/sample/msg.en-US.json
             
{
     "key1" : "key1 => component en-US ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
    ,"key2" : "key2 => component en-US ${replace1}--\\${replace1}--${replace1}--${replace2}--${replace3}"
}
             
             
                 実行してsampleボタンをクリック後、component sampleボタンをクリックしてみましょう
                 src/js/components/sample配下に作成したjsonファイル内の値が出力されます
                 src/js/components/sample配下に作成したmsg.jsonは、第一引数がsrc/js/components/sample/controller.jsのインスタンスである場合にのみ使用できます