【问题标题】:Angular2 i18n : HTML markup in translations?Angular2 i18n:翻译中的 HTML 标记?
【发布时间】:2016-10-26 19:57:02
【问题描述】:

我已经在我的 Angular2 应用程序中实现了 i18n,一切都设置好了。我唯一苦苦挣扎的是我的翻译中的 HTML 标记。

例如我有这样的标题:

<h3>Header with a <a href="#">link</a></h3>

如果我将 i18n 属性添加到 h3,则翻译将包含 HTML 引用。大多数 XLF 管理工具似乎都在为此苦苦挣扎,它们没有提供适当的支持来管理它。 所以我可以通过将其更改为来解决这个问题:

<h3><span i18n>Header with a </span><a href="#" i18n>link</a></h3>

但这似乎不对。

此外,我的 T&C 页面有很多 HTML 标记。现在我已将 i18n 元素添加到顶部,但翻译时所有格式都丢失了。

还是我使用了错误的工具?我已经尝试了很多,没有一个能很好地做到这一点。

【问题讨论】:

  • 您找到解决方案了吗?我也面临同样的问题。
  • 我们已切换到 XMB,并且正在使用 Text United。这非常有效,即使对于非常大的 HTML 内容块(如我们的 T&C)也是如此。唯一的问题是 Text United 不会生成 XTB(而只是 XMB),但这很容易做到;只是从 XMB 到 XTB 的字符串替换。

标签: angular internationalization


【解决方案1】:

只需要“信任”来自本地化字符串的 HTML。 导入此管道:https://gist.github.com/Bloggerschmidt/d1c635a9d8ca6d2d8804a16822b72e4e

用法:

<div [innerHTML] = "'loc_key' | translate | sanitizeHtml"></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2017-04-28
    • 2017-02-27
    相关资源
    最近更新 更多