0

我想通过角度翻译服务翻译一个错误句子。该句子包含字典中的单词。

例如:I got the sentence from server. “猫托尼$吃了两只老鼠$$BASED_ON$他们的$SMELL$”

var app = angular.module('app', ['pascalprecht.translate']);

app .config(["$translateProvider",
function ($translateProvider) {
            $translateProvider.useStaticFilesLoader({
                prefix: "common/lang/lang-",
                suffix: ".json"
            });
            $translateProvider.preferredLanguage('en');

}]);

我有两个文件要翻译 - 英语和葡萄牙语词典:

语言-en.json:

{
"$EATED TWO MOUSES$" : "eated Two Mouses",
"$BASED_ON$": "based on",
"$SMELL$": "smell"
}

我还有一个葡萄牙语的 json 文件。

我有一个 div,我把:

<div class="headline" ng-bind-html="element.headline">{{element.headline | translate}}</div>

有什么建议么?也许我需要拆分句子并翻译特定的单词?我试着用

  $scope.translated = $translate($scope.element.headline);

但它只返回一个函数。

4

1 回答 1

1

如果您想在句子中包含变量,则需要使用{{value}}语法而不是$value. 然后你可以像这样:

{{element.headline | translate: {value: 'value'} }}

如果你想在你的控制器/服务中使用翻译,那么你最好使用instant方法:

var options = {value: 'value'};
$translate.instant(element.headline, options);

希望这会有所帮助!

于 2014-10-02T13:56:26.037 回答