使用angular-translate将双引号替换为单引号?

时间:2018-09-27 20:36:05

标签: javascript angularjs angular-translate

我正在使用angular-translate将英语翻译为法语,但问题是它将单引号转换为双引号。我想用单引号替换翻译的双引号。我有一个过滤器,但它不适用于翻译后的文本。

代码段:

<div class="no-text" ng-if="question.length == 0" translate="msg.site_is_not_applicable" translate-default="This site is not applicable"></div>

例如msg.site_is_not_applicable(EN)=该网站不适用

法语翻译后=最适用的网站

想用双引号代替双引号。有人可以帮助我如何使用angular-translate.js做到这一点。

<div class="no-text" ng-if="question.length == 0" translate="msg.site_is_not_applicable | quoteSingle" translate-default="This site is not applicable"></div>

filter.js

app.module('app.filters', []).filter('quoteSingle', function() {
   return function(text) {
    return text.replace(/"/g, "'");
   };
});

1 个答案:

答案 0 :(得分:2)

使用translate过滤器代替translate指令。然后,您可以在相同的绑定属性上链接多个过滤器。因此,您可以在翻译过滤器之后添加自定义过滤器。您的模板代码可以是:

<div class="no-text" ng-if="question.length == 0"> 
 {{msg.site_is_not_applicable | translate | quoteSingle}}
</div>

Plunker Example