2014-10-02 73 views
0

我想通過angular translate翻譯服務一個錯誤句子。 該句子包含詞典中的單詞。角度翻譯服務的句子

例如: 我從服務器得到了這句話。 「託尼貓$ EATED兩個鼠標$ $ $ 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); 

但它只返回一個函數。

回答

1

如果您希望在句子中有變量,則需要使用{{value}}語法而不是$value。然後,你可以,你是這樣的:

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

如果你想在你的控制器/服務使用翻譯,那麼你最好使用instant方法:

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

希望這將幫助!

+1

那麼,首先你不能翻譯部分句子。如果需要,您需要爲整個句子鍵入參數。因此,您必須創建像'WHOLE_SENTENCE'這樣的翻譯:「Toni the cat {{EATED TWO MOUSES}} {{BASED_ON}} {{SMELL}}」'然後使用'{{'WHOLE_SENTENCE'|翻譯:{'EATED TWO MOUSES':value1,...}}}'。 – 2014-10-02 14:12:34

+0

太棒了!謝謝!! – Aviade 2014-10-03 11:20:41