如何在配置阶段使用 angular-gettext?
How to use angular-gettext in a config phase?
我正在使用 angular-gettext, angular-breadcrumb and angular-ui-router。
我的应用配置与此类似:
app.config(function($stateProvider) {
$stateProvider.state('welcome', {
url : '/',
templateUrl: 'index.html',
ncyBreadcrumb : {
label : 'Home'
}
});
});
我希望能够通过 angular-gettext
翻译面包屑 ('Home'
) 的标签。为此,我需要将 gettext 工具包含到 app.config()
函数中。像这样的东西是理想的,但是 gettextCatalog
在配置阶段不可用:
app.config(function($stateProvider, gettextCatalog) {
$stateProvider.state('welcome', {
url : '/',
templateUrl: 'index.html',
ncyBreadcrumb : {
label : gettextCatalog.getString('Home')
}
});
});
是否有任何其他方法可以使用这些插件实现此目的,尤其是 angular-gettext
?
根据 angular-breadcrumb 文档:
The property ncyBreadcrumbLabel
can contains bindings which are evaluated against the scope of the current state controller.
我还没有测试过这个,但我认为你可以在你的控制器中使用 gettextCatalog
模块:
$stateProvider.state('home', {
url: '/',
templateUrl: 'index.html',
controller: function($scope, gettextCatalog) {
$scope.label = gettextCatalog.getString('Home');
},
ncyBreadcrumb: {
label: '{{label}}'
}
})
我正在使用 angular-gettext, angular-breadcrumb and angular-ui-router。
我的应用配置与此类似:
app.config(function($stateProvider) {
$stateProvider.state('welcome', {
url : '/',
templateUrl: 'index.html',
ncyBreadcrumb : {
label : 'Home'
}
});
});
我希望能够通过 angular-gettext
翻译面包屑 ('Home'
) 的标签。为此,我需要将 gettext 工具包含到 app.config()
函数中。像这样的东西是理想的,但是 gettextCatalog
在配置阶段不可用:
app.config(function($stateProvider, gettextCatalog) {
$stateProvider.state('welcome', {
url : '/',
templateUrl: 'index.html',
ncyBreadcrumb : {
label : gettextCatalog.getString('Home')
}
});
});
是否有任何其他方法可以使用这些插件实现此目的,尤其是 angular-gettext
?
根据 angular-breadcrumb 文档:
The property
ncyBreadcrumbLabel
can contains bindings which are evaluated against the scope of the current state controller.
我还没有测试过这个,但我认为你可以在你的控制器中使用 gettextCatalog
模块:
$stateProvider.state('home', {
url: '/',
templateUrl: 'index.html',
controller: function($scope, gettextCatalog) {
$scope.label = gettextCatalog.getString('Home');
},
ncyBreadcrumb: {
label: '{{label}}'
}
})