angular-translate - $ translate服务仅适用于promises

时间:2015-07-29 13:39:54

标签: angularjs angular-translate

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

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

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

在HTML内部,使用翻译过滤器或翻译标签属性仍然有用。

我正在静态配置转换表:

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

语言设置如下。

$translate.use('en');

在我看来,angular-translate切换到基于异步/承诺的编程模型。当我使用这样的东西时:

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

然后翻译成功。

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

我怎样才能使用旧的调用方式

$translate('login.ACCOUNT_NOT_CONFIRMED')

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

1 个答案:

答案 0 :(得分:0)

使用

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