html - 如何合并 HTML 标签来为本地化字符串的某些部分设置样式(Polymer)

标签 html css localization polymer

我正在开发的 Web 应用程序使用资源字符串进行本地化。我遇到的问题是对这些字符串的某些部分进行样式设置。假设我想显示这个字符串:

user1234 created a new document.

所以在资源文件中它会像这样被本地化:

{username} created a new document.

问题是我还需要 <b></b>标签 {username} .我不能将这些标签放在 html 文件中,因为我需要它只应用于用户名,而不是整个本地化字符串。因此,除非我将字符串拆分为两个本地化字符串(我肯定这样做,因为其他语言不一定具有相同的句子结构),否则我必须将这些 html 标记放在本地化字符串中本身:

<b>{username}</b> created a new document.

即使我们暂时忽略最佳实践(其中我有 read briefly )并继续这样做,这个解决方案对我来说也不起作用。我相信这是因为应用程序正在使用 Polymer(这似乎适用于 Angular)。因此,如果我们坚持以下两个要求:

  1. 使用 polymer
  2. 将整个字符串组合成一个资源字符串

然后似乎没有办法为字符串的某些部分设置样式。有人知道解决方案吗?

最佳答案

我通过将资源字符串设置为包含该字符串的元素的内部 HTML 使其工作。所以假设包含文本的 div 有 id="textElem",在 Javascript 中我设置内部 HTML 如下:

this.$.textElem.innerHTML = this.localize('user_created_document', 'username', this.username)

我想我应该在问题中说明我之前设置字符串的尝试只是 (a) 简单地将字符串绑定(bind)到对象的属性并在 HTML 中引用它,以及 (b) 直接本地化字符串在 HTML 中,两者都不起作用。

关于html - 如何合并 HTML 标签来为本地化字符串的某些部分设置样式(Polymer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333322/

相关文章:

html - 需要帮助让侧边栏容器跨越页面的长度(HTML5/CSS3)

javascript - 如何将点击添加到 html 中的产品列表并获取点击到 firestore 的项目

html - 使背面图像模糊和正面图像清晰可见

html - Joomla 模块 CSS 覆盖

jquery - 我可以在 jquery 内容脚本文件(Firefox 插件 sdk)中使用插件代码吗?如果是怎么办?

css - 使用 SVG 的圆形进度条的正确方向

html - CSS 将视口(viewport)中的元素垂直和水平居中并使其响应跨浏览器

android - 如何在android中翻译语言?

JavaFX 语言环境包 : Can't find bundle for base name

iOS位置感知编程