Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

ngPluralize: support for HTML tags in translations? #4790

Open
@ysbaddaden

Description

@ysbaddaden

I found myself in a situation where some of the translation, and not all, must be within a strong tag. Since the ngPluralize directive uses element.text() (source) then the string is HTML escaped, and it doesn't work.

<ng:pluralize count="users.length" when="{other:'<strong>{}</strong> users'}" />

Since it may lead to XSS issues, I was wondering how to allow ngPluralize to use element.html() in some cases. If $interpolate already escapes the interpolated values, then maybe the directive could use element.html()? Or may be add an attribute like as="html" to give the user control over the HTML safeness of the translation? All it would need then is:

function ngPluralizeWatchAction(newVal) {
  if (attr.as === 'html') {
    element.html(newVal);
  } else {
    element.text(newVal);
  }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions