【问题标题】:angular-translate - $translate service does only work with promisesangular-translate - $translate 服务仅适用于承诺
【发布时间】:2015-07-29 13:39:53
【问题描述】:

我刚刚将 angular-translate 从版本 1.1.1 升级到了 2.7.2。之前,我在 JavaScript 中使用 $translate 服务,例如:

alert($translate('login.ACCOUNT_NOT_CONFIRMED'));

现在,升级后,这会导致显示“{}”。

在 HTML 中,使用 translate 过滤器或 translate 标签属性仍然有效。

我正在像这样静态配置转换表:

$translateProvider.translations('en', {
    'login.ACCOUNT_NOT_CONFIRMED': 'Your account...',
    ...
});

语言是这样设置的。

$translate.use('en');

在我看来,角度翻译切换到了异步/基于承诺的编程模型。当我使用这样的东西时:

$translate('login.NOT_SUCCESSFUL').then(function (loginTranslation) {
    alert(loginTranslation);
}

那么翻译成功。

我的问题是我不需要异步,在这种情况下我也不想要它,因为与以前相比,代码变得更加复杂。

我怎么还能使用旧的调用方式

$translate('login.ACCOUNT_NOT_CONFIRMED')

同步并检索翻译作为返回值?

【问题讨论】:

    标签: angularjs angular-translate


    【解决方案1】:

    使用

    $translate.instant('login.ACCOUNT_NOT_CONFIRMED');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-02
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2018-03-27
      相关资源
      最近更新 更多