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řestní
问题是:
我如何才能正确写入 UTF8 字符,同时仅在插值中使用 JSON 静态文件加载器,或在属性中使用任何其他方式 placeholder
.
对于正在努力寻找使 UTF-8 字符正常的方法的任何人,即使在 {{interpolations}}
中也是如此:
$translateProvider.useSanitizeValueStrategy('sanitizeParameters');
这样即使在插值中也会始终进行清理。
您有两个选择:
- 使用策略 sanitizeParameters,它只会清理动态参数,而不是实际的翻译(模板)。如果您控制了翻译(但不是动态值),这将起作用。
- 使用不使用清理但转义的策略escape(或escapeParameters)。
对我来说,当我将 SanitizeValueStrategy 设置为 null 时问题就解决了
$translateProvider.useSanitizeValueStrategy(null);
我在使用 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řestní
问题是:
我如何才能正确写入 UTF8 字符,同时仅在插值中使用 JSON 静态文件加载器,或在属性中使用任何其他方式 placeholder
.
对于正在努力寻找使 UTF-8 字符正常的方法的任何人,即使在 {{interpolations}}
中也是如此:
$translateProvider.useSanitizeValueStrategy('sanitizeParameters');
这样即使在插值中也会始终进行清理。
您有两个选择:
- 使用策略 sanitizeParameters,它只会清理动态参数,而不是实际的翻译(模板)。如果您控制了翻译(但不是动态值),这将起作用。
- 使用不使用清理但转义的策略escape(或escapeParameters)。
对我来说,当我将 SanitizeValueStrategy 设置为 null 时问题就解决了
$translateProvider.useSanitizeValueStrategy(null);