我正在使用Angular 6开发一个大型项目。这个项目需要进行重要的i18n集成。我正试图做出正确的决定,以确定如何继续。
我认为可以选择以下两种方式之一: 1. ngx-translate (https://github.com/ngx-translate/core) 2. Angular i18n (https://angular.io/guide/i18n)
我倾向于选择第二种,即Angular的i18n。因为它是Angular自己内置的软件包,这让我感到更放心。显然,这对SEO更好,没有任何额外的工作,性能也略有提高。此外,现在已经发布了它,我认为ngx-translate可能会被弃用。 请参阅此处的大量信息:Angular 5 internationalization。
但是,我仍有所保留:
我认为可以选择以下两种方式之一: 1. ngx-translate (https://github.com/ngx-translate/core) 2. Angular i18n (https://angular.io/guide/i18n)
我倾向于选择第二种,即Angular的i18n。因为它是Angular自己内置的软件包,这让我感到更放心。显然,这对SEO更好,没有任何额外的工作,性能也略有提高。此外,现在已经发布了它,我认为ngx-translate可能会被弃用。 请参阅此处的大量信息:Angular 5 internationalization。
但是,我仍有所保留:
- 显然,Angular的版本相当新/仍在追赶(https://github.com/ngx-translate/core/issues/495)。它是否太新了?
- 显然,我必须为每种语言单独构建一个网站(https://angular.io/guide/i18n#template-translations)??? 我真的不认为那是一件好事。对吗?还是说模板文件每次都是动态插入的?我知道使用ngx-translate,翻译后的文字只存储在.json文件中-我喜欢这种整洁的方式。我不认为我们想要许多不同的网站构建。
是否有一种方法可以使用angular i18n进行实时语言切换?即在页面上切换语言而无需重新加载/重新获取服务器数据?这就是他们所谓的JIT吗?
有人尝试过https://github.com/robisim74/angular-l10n吗?看起来也很不错。