如何在配置阶段使用angular-gettext?

时间:2015-04-15 17:28:57

标签: javascript angularjs gettext breadcrumbs angular-gettext

我正在使用angular-gettextangular-breadcrumbangular-ui-router

我的应用配置与此类似:

app.config(function($stateProvider) {

  $stateProvider.state('welcome', {
     url : '/',
     templateUrl: 'index.html',
     ncyBreadcrumb : {
        label : 'Home'
     }
  });

});

我希望能够通过'Home'翻译面包屑(angular-gettext)的标签。为此,我需要在app.config()函数中包含gettext工具。这样的事情是理想的,但是在配置阶段gettextCatalog不可用:

app.config(function($stateProvider, gettextCatalog) {

  $stateProvider.state('welcome', {
     url : '/',
     templateUrl: 'index.html',
     ncyBreadcrumb : {
        label : gettextCatalog.getString('Home')
     }
  });

});

有没有其他方法可以通过这些插件实现这一点,尤其是使用angular-gettext

1 个答案:

答案 0 :(得分:3)

根据angular-breadcrumb文档:

  

属性ncyBreadcrumbLabel可以包含根据当前状态控制器的范围进行评估的绑定。

我还没有对此进行过测试,但我认为您可以在控制器中使用gettextCatalog模块:

$stateProvider.state('home', {
  url: '/',
  templateUrl: 'index.html',
  controller: function($scope, gettextCatalog) {
    $scope.label = gettextCatalog.getString('Home');
  },
  ncyBreadcrumb: {
    label: '{{label}}'
  }
})