我已经阅读了大量有关 Angular 2+ i18n 的文章,并且一直在寻找尝试构建动态组件的最佳方法。
问题:
- i18n 无法将变量文本转换为动态 xlf 文件
- i18n 使得使用 i18n 属性创建带有文本的动态组件变得困难
可能的解决方案:
即使我们不能在生成语言资源文件时使用 i18n 的变量中的动态字符串来获取,我们仍然应该能够创建组件并将文本传递给它们。下面的示例是一种使用的形式<app-error>
显示输入错误消息以及动画。还会有其他形式,所以<app-error>
组件必须是可重用的。
考虑到其他表单组件的可重用性,我做了类似以下的事情。这种方式允许传递文本并使用嵌入将已翻译的文本注入错误消息中<app-error>
成分。
表单.组件.html
<app-error
i18n="Error | form validation">
Please enter a first name.
</app-error>
应用程序错误.component.html
<li>
<ng-content></ng-content>
</li>
我能够想出上述解决方案来正常工作,因为 i18n 会拾取它并翻译它,并且文本会正确注入<ng-content>
。所以这看起来是一个很好的解决方案,对吧?
我的想法是必须有一种更好的方法将翻译后的文本传递给组件或者能够利用 i18n 构建动态组件。有没有可能的解决方案?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)