我想实现视图的本地化(也应该包括正文)。 我之前通过加载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。有什么想法或帮助吗?
答案 0 :(得分:4)
您可以Localization Service使用Coding 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_">