0

我有一个带有 ngTranslate 复数形式的模板:

en-US "{count, plural, one{1 accepted} other{# accepted}}"
pt-BR "{count, plural, one{1 aceito} other{# aceitos}}"

但我想把数字放在span标签之间:

en-US "{count, plural, one{<span>1</span> accepted} other{<span>#</span> accepted}}"
pt-BR "{count, plural, one{<span>1</span> aceito} other{<span>#</span> aceitos}}"

这样,如果我使用translate属性指令:

<span translate="LBL_ACCEPTED" translate-values="model.i18nValues" translate-interpolation="messageformat"></span>

HTML 被加密,我可以在最终结果中看到 HTML 标记。所以我使用ng-bind-html指令:

<span ng-bind-html="'LBL_ACCEPTED' | translate:model.i18nValues:'messageformat' | trustHtml"></span>

结果相同。HTML 显示给用户。

有没有办法解密这个 HTML 标签?

编辑:

该问题并非特定于 ngMessageFormat 使用。如果我有类似的翻译"<b>{{count}}</b> accepted",则标签会被转义。我尝试添加translate-compile指令,但似乎没有任何效果。

4

1 回答 1

0

发现了问题。

在模块配置中,我正在设置:

$translateProvider.useSanitizeValueStrategy('escape');

在这里浪费了几个小时。

于 2016-05-25T20:15:01.500 回答