Angular 翻译 UTF8 字符 (pascalprecht.translate)

Angular translate UTF8 characters (pascalprecht.translate)

我在使用 SanitizeValueStrategy('sanitize') 时遇到 UTF8 字符问题。我必须使用它,因为客户正在使用语言文件来编辑文本,他可能会使用像 <b><i>...

这样的标签

我只需要 json 文件进行翻译。客户端不会触及应用程序代码来更改任何文本。 JSON 文件:

{
    "H1": "Typy domů",
    "NAME": "Křestní"
}

问题,我想,只有在使用 angular 的插值时才会出现:

<h1 translate>houseTypes.H1</h1>
Typy domů

我可以使用此方法将文本放入元素的正文中,但是 attributes.

仍然会出现此问题
<input placeholder="'houseTypes.NAME'|translate"></h1>
K&#345;estn&#237;

问题是:
我如何才能正确写入 UTF8 字符,同时仅在插值中使用 JSON 静态文件加载器,或在属性中使用任何其他方式 placeholder.

对于正在努力寻找使 UTF-8 字符正常的方法的任何人,即使在 {{interpolations}} 中也是如此:

$translateProvider.useSanitizeValueStrategy('sanitizeParameters');

这样即使在插值中也会始终进行清理。

您有两个选择:

  1. 使用策略 sanitizeParameters,它只会清理动态参数,而不是实际的翻译(模板)。如果您控制了翻译(但不是动态值),这将起作用。
  2. 使用不使用清理但转义的策略escape(或escapeParameters)。

对我来说,当我将 SanitizeValueStrategy 设置为 null 时问题就解决了

$translateProvider.useSanitizeValueStrategy(null);