Javascript 尝试在Angular(Blur Admin)中国际化adf小部件的标题和描述
是否可以翻译adf wiget的标题和描述 我尝试过类似的方法,但没有成功:Javascript 尝试在Angular(Blur Admin)中国际化adf小部件的标题和描述,javascript,angularjs,Javascript,Angularjs,是否可以翻译adf wiget的标题和描述 我尝试过类似的方法,但没有成功: angular.module('adf.widget.myWidget', ['adf.provider']) .config(function(dashboardProvider, $filter){ dashboardProvider .widget('myWidget', { title: $filter('translate')('MYWIDGET.NAME'),
angular.module('adf.widget.myWidget', ['adf.provider'])
.config(function(dashboardProvider, $filter){
dashboardProvider
.widget('myWidget', {
title: $filter('translate')('MYWIDGET.NAME'),
description: $filter('translate')('MYWIDGET.DESCRIPTION'),
templateUrl: '{widgetsPath}/myWidget/src/view.html',
controller: 'myWidgetCtrl',
edit: {
templateUrl: '{widgetsPath}/myWidget/src/edit.html'
}
});
})
.Controller [...]
或者有没有一种方法可以使用$filter更新控制器中的这些信息
非常感谢
//编辑:
我尝试了其他解决方案,但仍然无效:
angular.module('adf.widget.myWidget', ['adf.provider'])
.config(function(dashboardProvider){
function getName($filter) { var dcName = $filter('translate')('MYWIDGET.NAME'); return dcName; };
dashboardProvider
.widget('myWidget', {
title: getName(),
description: 'test',
templateUrl: '{widgetsPath}/myWidget/src/view.html',
controller: 'myWidgetCtrl',
edit: {
templateUrl: '{widgetsPath}/myWidget/src/edit.html'
}
});
})
MYWIDGET应该定义为一个常量,其名称和描述属性都有值,然后注入配置块,就像注入$filter一样
看一看如何创建常量这里是一个如何使用解析块的示例
angular.module('adf.widget.myWidget', ['adf.provider'])
.config(function(dashboardProvider, MYWIDGET){
dashboardProvider
.widget('myWidget', {
templateUrl: '{widgetsPath}/myWidget/src/view.html',
controller: 'myWidgetCtrl',
edit: {
templateUrl: '{widgetsPath}/myWidget/src/edit.html'
},
resolve: {
description: function ($filter) {
return $filter('translate')(MYWIDGET.DESCRIPTION)
},
name : function ($filter) {
return $filter('translate')(MYWIDGET.NAME)
}
}
});
})
然后在您的控制器中,将翻译后的
名称
和说明
值作为普通可注入项注入我通过翻译自定义模板中的值解决了这个问题
dashboardProvider.customWidgetTemplatePath('src/...pathToTemplate')
我也使用自定义模板的所有编辑模板,如editTemplateUrl等
(删除了重复的问题.)MYWIDGET及其值在lang_de-de.json和lang_en-US.json中定义。我已经尝试注入$filter,但是如果我像我展示的那样这样做,我将得到以下错误:[$injector:modulerr]未能实例化模块BlurAdmin,原因是:。。。还有许多其他错误。此外,您不能将$filter注入配置块,angular不支持将服务注入配置块。你可以试着在一个解析块中这样做,你能给我举个例子吗?角度对我来说是很多新东西。:-)我发现了这个:但是我真的不知道怎么做。嗨,谢谢。我没有错误,但它不起作用。。。名称和描述不再显示在小部件中。使用其他解决方案更新了我的问题,但该解决方案不起作用….\uuuuuuu。