我想实现视图的本地化(也应该包括正文)。
我之前通过加载 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。有什么想法或帮助吗?
您可以使用本地化服务 https://github.com/lavinjj/angularjs-localizationservice by 编码 SmackDown 电视 http://codingsmackdown.tv/blog/2012/12/14/localizing-your-angularjs-app/
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_">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)