angular.translate 与 $scope.$emit

angular.translate with $scope.$emit

我正在与 AngularJS 合作,从昨天开始我尝试使用 Pascal Precht 的 'angular.translate' 来实现翻译。这通常按以下方式工作:

app.js

angular.module('app', ['ionic', 'config', 'pascalprecht.translate'])

.config(function ($translateProvider)

{
     $translateProvider.translations("de", 
     {
         "ERROR": "Keine Wiederholung möglich!",
     });

     $translateProvider.translations("en", 
     {
         "ERROR": "No recurrence possible!",
     });
     $translateProvider.preferredLanguage("en");
})

Round.controller.js

$scope.save = function ()
{
    if ($scope.round.adjusted) 
    {
        if ($scope.round.variant.key === "HO")
        {
            $scope.$emit('toast', 'No recurrence possible!');
            return;
        }
}

我的问题是:我需要做什么才能使用变量将 $scope.$emit 后面的代码替换为 'angular.translate' 后面的代码?

您需要将 $translate 注入您的控制器并使用 $translate.instant 函数。

var errorText = $translate.instant('ERROR');
$scope.$emit('toast', errorText);