我刚刚将版本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')
同步并将翻译检索为返回值?
答案 0 :(得分:0)
使用
$translate.instant('login.ACCOUNT_NOT_CONFIRMED');