gpt4 book ai didi

Angular 6 - i18n 与 ngx-translate

转载 作者:太空狗 更新时间:2023-10-29 16:51:57 28 4
gpt4 key购买 nike

我正在使用 Angular 6 开发一个大型项目。这个项目需要大量的国际化集成。我正在努力就如何进行做出正确的决定。

我的看法是我可以选择:

  1. ngx 翻译 ( https://github.com/ngx-translate/core )
  2. Angular i18n ( https://angular.io/guide/i18n )

我倾向于选择选项 2; Angular 的国际化。这是因为它是 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 ?看起来也很好。

最佳答案

Is it too new to take on?

这是基于观点的,因此是题外话

Apparently I have to have a separate website

您需要一个单独的应用程序(即 index.html + 包)。但是您可以从一个 URL 为所有这些应用程序提供服务,并决定在服务器上提供哪个应用程序。当基于 Ivy 构建的新动态 i18n 可用时,这种情况(希望)会随着 Angular 7 的出现而改变。

is it a case that template files are dynamically inserted each time?

不太清楚你的意思。您构建的区域设置的翻译在编译时由 Angular AOT 编译器存储在生成的模板类中。

Is there a way to do live language switching with angular i18n?

不,下一个版本的 i18n 也不可能做到这一点。相同的、独特的应用程序将能够以多种语言运行,但仍然需要在启动时选择语言,并且您必须重新启动应用程序才能选择另一种语言。

Is there a way to do live language switching with angular i18n?

没有。至少效率不高。

Is that what they call JIT?

没有。 JIT 编译器在浏览器启动时将 HTML 模板编译成 JavaScript。在生产中,您使用 AOT 编译器(它也用于将翻译集成到生成的 JS 类中),它对模板进行类似的编译,但在构建时而不是运行时。

关于Angular 6 - i18n 与 ngx-translate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51087137/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com