【发布时间】: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