0

ユーザーの好みに応じてHTMLをさまざまな言語に翻訳する必要があります。そのために、Angular JSの翻訳メソッドを使用しています。私がメモ帳の中に書き込んで ".html"として保存したときの例は正常に動作しています。しかし、Salesforce Visualforceページ内に同じコードを貼り付けると、その動作が変わります。 「It」ボタンをクリックしてコンテンツを「イタリック体」に翻訳すると、コンテンツはイタリック体に翻訳されますが、数秒以内にコンテンツは再度希望の言語「EN」に戻ります。私は出力のスクリーンショットの下に与えました。私は自分のコードの下に与えられているAngualr JS翻訳が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

このコードをスニペットまたはプランカーにそのまま使用すると、角ループ内の英語に戻るスイッチをトリガーする他のコードがあるように聞こえます。あなたの完全なアプリケーションであなたの好みの言語コードの周りにいくつかのデバッグを入れてください。 –

+0

Oakyが – 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

この

{{ '変数名' を試します| translate}}

+0

あなたのソリューションが動作していない

{{translations.variablename}}

Aruna

+0

何も表示されていないチェックします.... – immanuelRocha

+0

を試してみてください – Aruna

関連する問題