在Angular中,应用程序的翻译通常使用i18n国际化库来实现。 翻译可以在拥有不同语言的各种文本字符串中完成。 通常,在应用程序代码中使用插值字符串来在视图中显示文本。 这些插值字符串也可以用于翻译。 但是,如果将渲染的模板用作插值字符串进行翻译,则可能会出现问题。
例如,考虑以下带有Angular插值字符串的HTML模板:
{{ 'Hello, {{name}}!' }}
在这种情况下,我们可通过将其转换为更通用的模板字符串来进行翻译:
{name, select, male {Hello, Mr. {{ name }}!} female {Hello, Mrs. {{ name }}!} other {Hello, {{ name }}!}}
这里,我们使用了i18n指令、my-message标签,以及Angular国际化的选择器(select)、插值字符串和模板字符串来对视图进行更全面的翻译。
综上所述,将渲染的模板用作插值字符串进行翻译的最佳解决方案是使用Angular国际化库和模板字符串进行翻译。