angular-translate:将字符串转换为控制器中的特定语言?

时间:2015-10-19 09:09:13

标签: angularjs angular-translate

我正在使用angular-translate,并希望向分析报告某个文本

所以我知道我可以使用它:

angular.module('myApp').controller('Ctrl', ['$translate', ,'$analytics', '$scope', function ($translate, $analytics, $scope) {

  $analytics.reportEvent(EVENT_NAME, {headline: $translate('HEADLINE_TEXT')});

}]);

但是:这会转换为当前使用的语言。

无论用户的显示语言如何,我都需要对该文本进行ENGLISH翻译。

有办法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用$translation.use('en')docs)强制语言。

$translate.use('en').then(function () {
    $translate('HEADLINE_TEXT');
});

但是,如果你总是希望它是英文的,那么使用翻译服务并没有多大意义,只需对英文信息进行硬编码。

修改

文档不清楚它是否会改变应用程序其余部分的语言。如果是这样,您可能需要保留对旧语言的引用并在之后恢复,例如(未经测试):

var currentLanguage = $translate.use();
$translate.use('en').then(...);
$translate.use(currentLanguage);