Javascript AngularJS实现模板本地化
我想实现视图的本地化(也应该包括主体)。 我以前通过加载一个JSON文件,然后通过键进行迭代来实现这一点。 键是类名。然后我简单地将键的值分配给 元素添加到类中 语言文件(JSON)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
".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_">