Javascript AngularJS实现模板本地化

Javascript AngularJS实现模板本地化,javascript,angularjs,Javascript,Angularjs,我想实现视图的本地化(也应该包括主体)。 我以前通过加载一个JSON文件,然后通过键进行迭代来实现这一点。 键是类名。然后我简单地将键的值分配给 元素添加到类中 语言文件(JSON) ".Header-Title" : "My Title", ".Header-Text" : "Lorem ipsum vehicula interdum." $.load("./Content/Text/main-en.json", function(data) { for (key in da

我想实现视图的本地化(也应该包括主体)。 我以前通过加载一个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]);
   }
});
代码示例

".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开始。有什么想法或帮助吗?

您可以使用

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_">