0

我需要根據用戶偏好將我的HTML翻譯成不同的語言。爲此,我使用Angular JS翻譯方法。當我在記事本內寫入並保存爲「.html」的例子工作正常。但是,當我在Salesforce Visualforce頁面中粘貼相同的代碼時,其行爲將發生變化。當我點擊按鈕「IT」將內容翻譯爲「斜體」時,內容翻譯成斜體,但在幾秒鐘內內容又回到他們的首選語言「EN」。我在下面給出了我的輸出截圖。Angualr JS translate在Visualforce頁面內無法正常工作

enter image description here

我下面的代碼,我已經給了,任何人都可以說,什麼是錯的這個。

<!DOCTYPE html> 
<html ng-app="app"> 
<head> 
</head> 
<body> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
<script src="https://cdn.rawgit.com/angular-translate/bower-angular-translate/2.5.2/angular-translate.js"></script> 
<script> 
// Code goes here 
var app = angular.module('app', ['pascalprecht.translate']); 

app.config(['$translateProvider', 
function($translateProvider) { 

$translateProvider.translations('it', { 
    'Purchase order': "Ordine di acquisto ", 
    'Number:': "Numero:", 
    'Customer data': "Dati Cliente", 
    'Surname/Company':"Cognome/Società", 
    'Name':"Nome", 
    'Piazza way':"Via/Piazza", 
    'City':"Città", 
    'VAT tax code':"Codice Fiscale/Partita IVA", 
    'Phone':"Telefono", 
    'E-Mail':"E-Mail", 
    'CAP':"CAP" 


}); 
$translateProvider.preferredLanguage("en"); 
} 
]); 

app.controller('AppController', function ($translate) { 
// this.browser = navigator.userAgent; 
this.useLang = function (lang) { 
$translate.use(lang); 
} 
}); 
</script> 


<div ng-controller="AppController as app"> 
<h3 translate>  Purchase order </h3> 
<p translate>Number:</p> 
<h3 translate>Customer data</h3> 
<p><span translate>Surname/Company</span>_________</p> 
<p> <span translate>Name</span>__________</p> 
<p><span translate>Piazza way</span>____________</p> 
<p><span translate>CAP</span>_______<span translate>City</span>______</p> 
<p><span translate>VAT tax code</span>__________</p> 
<p><span translate>Phone</span>____________</p> 
<p><span translate>E-Mail</span>_________</p> 

<button ng-click="app.useLang('it')">IT</button> 
<button ng-click="app.useLang('en')">EN</button> 

</div> 
</body> 
</html> 
+0

當我在代碼片或者plunker中運行這段代碼時,它工作的很好,聽起來就像你有一些其他代碼在角度循環中觸發切換回英文。在整個應用程序中圍繞您的首選語言代碼進行一些調試。 –

+0

橡木會檢查 – Aruna

回答

0

經過開發人員論壇提供的解決方案後,最後我找到了解決方案,我的問題。其實我的內容背後的原因是從「斜體」回到「英文」是「頁面清爽」。要停止刷新頁面,我需要將<button>類型設置爲「按鈕」。
<button type="button">

代碼變化

<button type="button" ng-click="app.useLang('it')">IT</button> <button type="button" ng-click="app.useLang('en')">EN</button> 我確實在我的代碼的變化,從令人耳目一新,這反過來給了我預期的結果停止的頁面。

0

試試這個

{{ '變量名' |翻譯}}

+0

您的解決方案不顯示任何 – Aruna

+0

嘗試

{{translations.variablename}}

immanuelRocha

+0

不工作.... – Aruna