Ich habe angle-translate verwendet. Funktioniert super!angular-translate zeigt den Zeichenakzent oder Umlaut nicht richtig an
Aber ein übersetztes Zeichen wird für Zeichen mit Umlaut oder Akzent oder ... (wie ü oder ú oder ñ) angezeigt. Dieselben Zeichenwerte werden im HTML-Text und als AngularJS-Variablen korrekt angezeigt.
Hier ist eine Beispielausgabe. Die Ausgabe für HTML-Text und Winkelvariable wird korrekt angezeigt. Die Ergebnisse von $ translate filter und directive zeigen nicht das korrekte Umlautzeichen an.
html text - Und sie unterstützt mehr Sprachen!
Winkelvariable - Und sie unterstützt mehr Sprachen!
$ translate filter - Und sie unterstüzt mehrere Sprachen!
$ translate directive - Und sie unterstüzt mehrere Sprachen!
Hier ist der Code:
'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']);
Hier ist der 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>
Das ist genau das Problem. Danke, dass du den Code ausprobiert hast und bestätigt hast, dass es für dich in Ordnung ist. Ich überprüfte und konvertierte den Code in UTF-8, gab die Zeichenfolgen erneut ein, und alles ist gut. – user3108158
Ich habe das gleiche Problem, aber kann nicht verstehen, wie man es löst, können Sie bitte darüber erklären .. – Rohit
Für diejenigen, die weitere Informationen suchen, löste ich dies mit Notepad ++, um die Datei selbst in UTF-8-Codierung zu konvertieren. In meinem Fall war es eine JSON-Datei, in die ich geladen habe, aber Sie könnten versuchen, welche Datei Ihre Übersetzungen enthält. Keine Servereinstellungen erforderlich. Danke, dass Sie mich in die richtige Richtung weisen! – adamdport