我正在使用最新的Angular 5构建应用程序,我需要的是用户能够切换语言。我从来没有在Angular 2中实现这个(实际上我使用的是Angular5)。
我需要在两个地方设置翻译:
我正在看ngx-translation它看起来做我需要的一切,因为它允许你改变语言而不重建你的代码,请参阅here。但是我读了it was probably going to be deprecated,因为主要开发人员转向角度团队来开发他们的i18n代码。
我也明白,目前的i18n不支持我现在需要的一切,请参阅here。
我的问题 - 在最新版本的Angular中翻译的状态是什么?是否还有其他人推荐的图书馆,如果确实如此,Angular本身还没有完全支持(用于更改语言而不重新编译)? ngx-translate对未来有益吗?
非常感谢在这方面的任何指导!
花了很多时间研究这个,我想我会发布ngx-translate和Angular-i18n之间的主要差异:
Ocombe(ngx的开发人员):@josersleal这正是他们所做的,有角度的团队雇佣我为每个人改进i18n但是我没有办法将我的lib直接集成到核心,为核心团队工作了3个月后我可以告诉你Angular i18n比我的lib更加复杂和复杂。它处理了许多更复杂的东西,它没有我的lib所具有的所有错误和缺点。我理解核心的发展速度不如图书馆可以做的那么快令人沮丧,但是有理由这样做,第一个就是你不能实现某些东西并且每当你发现忘记包含一个用例。一切都必须彻底规划和思考。尽管如此,你将拥有这个lib在未来可以在核心中完成的大部分工作,但可能需要一年的时间才能到达那里。好消息是,它比我天真的实施要好得多。
这是一篇很好的文章来讨论ngx-translate和Angular的i18n之间的主要区别:https://github.com/ngx-translate/core/issues/495
i18n的更改将在角度版本6中到期。今天,我们目前正在使用第5版:
一些想法......
我也将看看Angular-l10n库,因为它看起来非常好:
是。 ngx-translate到现在为止一直很好,我希望它将来也会如此。
我在目前使用5种语言的Angular 5项目中使用ngx-translate。
到目前为止,它对我来说很好。我没有做任何自定义更改,它就像即插即用的东西。
Rob McCabe,除了上面列出的那个之外,还有其他重要的问题。我已经解释了它here。