私はangular-translateを使い始めました。よく働く!
ただし、ウムラウトまたはアクセントまたは...(üまたはúまたはñなど)のある文字には、翻訳された文字�が表示されます。これらの同じ文字値は、HTMLテキストおよびAngularJS変数として正しく表示されます。
これがサンプル出力です。 HTMLテキストとangular変数の出力は正しく表示されます。$ translateフィルターとディレクティブの結果は正しいウムラウト文字を表示しません。
htmlテキスト-UndsieuntersütztmehrereSprachen!
角度変数-UndsieuntersütztmehrereSprachen!
$ translatefilter-Undsieunters�tztmehrereSprachen!
$ translateディレクティブ-Undsieunters�tztmehrereSprachen!
コードは次のとおりです。
'use strict';
var translations =
{
"TEST_DE": "Und sie untersützt mehrere Sprachen!",
"TEST_ES": "Menú Señor"
};
angular.module('testApp', ['testApp.controllers', 'pascalprecht.translate'])
.config(['$translateProvider', function($translateProvider) {
$translateProvider.translations({
TEST_DE: "Und sie untersützt mehrere Sprachen!",
TEST_ES: "Menú Señor"
});
}]);
angular.module('testApp.controllers', ['ui.bootstrap']);
HTMLは次のとおりです。
<!doctype html>
<html lang="en" ng-app="testApp">
<head>
<meta charset="utf-8">
<title>Test angular-translate</title>
</head>
<body ng-controller="testAppController">
<!-- Declare the view/controller router -->
<div ng-view></div>
<!-- angular files -->
<script src="angular.js"></script>
<script src="angular-translate.js"></script>
<script src="ui-bootstrap-tpls-0.4.0.js"></script>
<!-- Application routing file -->
<script src="app.js"></script>
<!-- Application Controller -->
<script src="testAppController.js"></script>
<!-- Test translations -->
<br />
html text - Und sie untersützt mehrere Sprachen!
<br />
angular variable - {{ testPhraseDE }}
<br />
$translate filter - {{ 'TEST_DE' | translate }}
<br />
$translate directive - <a translate="TEST_DE"> </a>
<br />
<br />
html text - Menú Señor
<br />
angular variable - {{ testPhraseES }}
<br />
$translate filter - {{ 'TEST_ES' | translate }}
<br />
$translate directive - <a translate="TEST_ES"> </a>
</body>
</html>
簡単な質問ですが、尋ねる価値があります(私はいつもこの間違いをします:))JSファイルが保存され、サーバーによってUTF-8形式で提供されていることを確認しますか?あなたのコードには何も問題がないように見えるからです。私はそれを� ここ なしで動作させました。それだけだといいのですが。
私の場合、問題はEclipseSTSがUTF-8形式なしでJSONファイルを保存していたことでした。 Notepad ++を使用してJSONファイルとして保存しました。これで、アクセントと特殊文字がディレクティブに正しく表示されます。