3

ビューのローカリゼーションを実装したい (本体も含める必要があります)。JSONファイルをロードして、キーを繰り返し処理することで、以前にこれを行いました。キーはクラス名です。クラスを使用して、キーの値を要素に割り当てるだけです。

言語ファイル (JSON)

".Header-Title" :   "My Title",
".Header-Text"  :   "Lorem ipsum vehicula interdum."

コード例

$.load("./Content/Text/main-en.json", function(data) {
   for (key in data) {
     $(key).html(data[key]);
   }
});

テキストがhtmlとスクリプトから分離されているため、これが気に入りました。AngularJSでこれを達成できるか知りたいです。私の考えでは、JSON 言語ファイルへのパスを取得する追加のパラメーターによってルート プロバイダーを拡張することです。ビューをロードした後、コード例のように値を割り当てる関数を呼び出す必要があります。AngularJS を使い始めたばかりです。アイデアや助けはありますか?

4

1 に答える 1

4

SmackDown TVをコーディングすることで、ローカリゼーション サービスを使用できます。

1) サービスをロードし、i18n ファイルを含めます。たとえば、これを取ります

// /i18/en/dictionary_en.js
[
    {
        "key":"_More_",
        "value":"More",
        "description":"More button"
    }
]

// In the localize service
$http({ method:"GET", url:url, cache:false }).success(localize.successCallback).error(function () {
    // the request failed set the url to the default resource file
    var url = '/i18n/en/dictionary_en.js';
    localize.language = 'en';
    // request the default resource file
    $http({ method:"GET", url:url, cache:false }).success(localize.successCallback);
});

2) ビューで i18 フィルターを使用するか、ng-bind

<button data-i18n="_More_">
于 2013-09-16T17:40:57.477 に答える