我开始使用角度平移。很棒!angular-translate不能正确显示字符重音或元音变音
但是,对于带变音符号或重音符号或...(如ü或ú或ñ)的字符,会显示翻译后的字符 。这些相同的字符值在HTML文本和AngularJS变量中正确显示。
下面是一个示例输出。 HTML文本和角度变量的输出正确显示。 $ translate过滤器和指令的结果不显示正确的元音变音字符。
html text - Und sieuntersütztmehrere Sprachen!
角变量 - Und sieuntersütztmehrere Sprachen!
$ translate filter - Und sieunters tztmehrere Sprachen!
$ translate directive - Und sieunters tztmehrere Sprachen!
下面的代码:
'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>
这正是问题所在。感谢您尝试代码并确认它对您而言是好的。我检查并将代码转换为UTF-8,重新输入字符串,一切正常。 – user3108158
我有同样的问题,但无法理解如何解决它,请你解释一下.. – Rohit
对于那些寻找更多信息,我解决了这个问题,通过使用Notepad ++将文件本身转换为UTF-8编码。在我的情况下,这是一个我加载的json文件,但你可以尝试任何文件包含你的翻译。无需服务器设置。感谢您指点我正确的方向! – adamdport