Заменить двойные кавычки на одинарные с помощью углового перевода? - PullRequest
0 голосов
/ 27 сентября 2018

Я использую 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) = Этот сайт не применяется

Послепереведено на французский = le site n''est pas применимо

Хотите заменить двойные кавычки одинарными.Может кто-нибудь помочь, как я могу сделать это, используя 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 голосов
/ 28 сентября 2018

Вместо директивы translate используйте фильтр translate.И тогда вы можете объединить несколько фильтров в одно свойство привязки.Таким образом, вы можете добавить свой собственный фильтр после фильтра перевода.Ваш код шаблона может быть:

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

Пример Plunker

...