我试图获取在translations.js文件中定义的文本,以便将其作为文本传递给angular-bootstrap警报。我已将$ translate服务注入控制器并使用$ translate服务,如下所示:
$translate('TXT_ALERT_MSG').then(function (translation) {
$log.debug( translation );
});
但它会破坏角度并指出以下错误消息:
TypeError: object is not a function
这是在上面代码的第一行引发的。我把它包装在一个承诺中,以确保我只在成功检索翻译时打印该值。我也尝试将值赋给变量,但这会引发同样的错误:
function getTranslation() {
var msg = $translate('TXT_ALERT_MSG');
$log.debug(msg);
}
getTranslation();
这很可能是简单的事情,那又是什么呢?
由于
修改 我如何将翻译模块注入应用程序:
angular.module('MainApp',['pascalprecht.translate']);
以及如何配置:
angular.module('MainApp').config(['$translateProvider', 'ConfigProvider', function ($translateProvider, ConfigProvider) {
var config = ConfigProvider.$get();
var rootUrl = config.get('ourRootUrl');
$translateProvider.translations('en', {
// all our translations e.g.
TIMED_OUT_BUTTON: 'Return to Dashboard'
$translateProvider.preferredLanguage('en');
}]);
答案 0 :(得分:1)
尝试通过翻译过滤器获取翻译
$filter('translate')('TIMED_OUT_BUTTON')