如何在配置阶段使用 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}}'
  }
})