Angular JS在Visualforce页面中翻译不正常

时间:2017-10-10 04:12:59

标签: angularjs angularjs-directive visualforce angular-translate

我需要根据用户偏好将我的HTML翻译成不同的语言。为此,我使用Angular JS翻译方法。我写在记事本中并保存为" .html"工作正常。但是,当我在Salesforce Visualforce页面中粘贴相同的代码时,其行为会发生变化。当我点击按钮" IT"将内容翻译成" Italics"内容正在转换为斜体,但在几秒钟内内容再次回到他们的首选语言" EN"。我在下面给出了输出截图。

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>

2 个答案:

答案 0 :(得分:0)

试试这个

{{&#39; variable_name&#39; |翻译}}

答案 1 :(得分:0)

在完成开发人员论坛中提供的解决方案后,我终于找到了解决问题的方法。实际上我的内容背后的原因是回归&#34;英语&#34;来自&#34;斜体&#34;是&#34;页面刷新&#34;。要停止刷新页面,我需要将<button>类型设置为&#34;按钮&#34;。
             即<button type="button">

代码更改

<button type="button" ng-click="app.useLang('it')">IT</button> <button type="button" ng-click="app.useLang('en')">EN</button> 我在代码中进行了更改,它使页面无法刷新,从而产生了预期的结果。