角翻译无法正确显示字符的口音或变音符号 [英] angular-translate does not display character accent or umlaut correctly

查看:194
本文介绍了角翻译无法正确显示字符的口音或变音符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始用角翻译。伟大的作品!

但显示解译的角色与变音符号或重音或字符...(如U或u或N)。在HTML文本和AngularJS变量正确显示这些相同的字符值。

下面是一个示例输出。输出为HTML文本和角度变量正确显示。从$结果翻译过滤器和指令不显示正确的变音符号。


  

HTML文本 - !UND SIEuntersütztmehrere Sprachen


  
  

角度变量 - UND SIEuntersütztmehrere Sprachen


  
  

$翻译过滤 - UND SIE unterstzt mehrere Sprachen


  
  

$转换指令 - UND SIE unterstzt mehrere Sprachen


这里的code:

 使用严格的;VAR翻译=
{
    TEST_DE:北达科SIEuntersütztmehrere Sprachen!
    TEST_ES:菜单阅兵式
};angular.module('testApp',['testApp.controllers','帕precht.translate'])
  的.config(['$ translateProvider',函数($ translateProvider){      $ translateProvider.translations({
        TEST_DE:北达科SIEuntersütztmehrere Sprachen!
        TEST_ES:菜单阅兵式
      });}]);angular.module('testApp.controllers',['ui.bootstrap']);

这里是HTML:

 <!DOCTYPE HTML>
< HTML LANG =ENNG-应用=testApp>
   < HEAD>
     <间的charset =UTF-8>     <标题>测试角转换< /标题>   < /头>   <机身NG控制器=testAppController>     <! - 声明视图/控制器路由器 - >
     < D​​IV NG-视图>< / DIV>     <! - 角文件 - >
     &所述; SCRIPT SRC =angular.js>&下; /脚本>
     &所述; SCRIPT SRC =角translate.js>&下; /脚本>
     < SCRIPT SRC =UI自举 - 第三方物流企业 - 0.4.0.js>< / SCRIPT>     <! - 应用路由文件 - >
     &所述; SCRIPT SRC =app.js>&下; /脚本>     <! - 应用控制器 - >
     &所述; SCRIPT SRC =testAppController.js>&下; /脚本>
     <! - 试译 - >
     < BR />
     HTML文本 - UND SIEuntersütztmehrere Sprachen!
     < BR />
     角度变量 - {{testPhraseDE}}
     < BR />
     $翻译过滤 - {{'TEST_DE|翻译}}
     < BR />
     $翻译指令 - <一个翻译=TEST_DE> &所述; / A>     < BR />     < BR />
     HTML文本 - 菜单阅兵式
     < BR />
     角度变量 - {{testPhraseES}}
     < BR />
     $翻译过滤 - {{'TEST_ES|翻译}}
     < BR />
     $翻译指令 - <一个翻译=TEST_ES> &所述; / A>   < /身体GT;
< / HTML>


解决方案

快速的问题,但值得一问的(因为我总是做这样的错误:))你确定你的JS文件是在UTF-保存和您的服务器提供8格式?因为似乎没有任何问题与您的code。我连上了没有在这里工作。希望这只是这一点。

I started using angular-translate. Works great!

But a translated character � is displayed for characters with umlaut or accent or ... (like ü or ú or ñ). These same character values are displayed correctly in HTML text and as AngularJS variables.

Here's a sample output. The output for html text and angular variable display correctly. The results from $translate filter and directive don't display the correct umlaut character.

html text - Und sie untersützt mehrere Sprachen!

angular variable - Und sie untersützt mehrere Sprachen!

$translate filter - Und sie unters�tzt mehrere Sprachen!

$translate directive - Und sie unters�tzt mehrere Sprachen!

Here's the 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']);

Here's the 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>

解决方案

Quick question but worth asking (as I always do this mistake :) ) are you sure that your JS file is saved and served by your server in an UTF-8 format? Because nothing seems wrong with your code. I even made it work without the � here. Hope it's only that.

这篇关于角翻译无法正确显示字符的口音或变音符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆