1

我写信是想征求你的意见。我们构建基于商店的 Angular 应用程序,这需要翻译。请求是使用官方 angular i18n 方法,尽管我不知道如何将我的翻译与商店中的值联系起来。有没有可能,有没有人有这方面的经验,或者我应该马上去像 ngx-translate 库这样的解决方案..?我必须说我研究了很多,但没有找到可以理解的答案(我是一名大三学生,我很难掌握所有的优点、缺点和可能的方法)答案。因此,如果您有任何适用的经验,我的要求是分享您的知识。提前致谢!

4

1 回答 1

5

Tl;博士; 使用 Ngrx 和 I18n——但不要在 Ngrx 存储中存储翻译。

所以将 Ngrx 和 Angular 平台 I18n 工具一起使用是可以的。也就是说,您的翻译不会在 Ngrx 商店中。该商店用于应用程序状态。此状态通常由数据源支持。

i18n 转换与应用程序状态是分开的。翻译在构建时被静态编译到应用程序中。这可以自动将西班牙语版本放在 dist/es/ 中,将法语版本放在 dist/fr/ 中等等。

因为它是编译时,所以没有状态存储甚至可以触及的运行时翻译。

现在这可能会随着 Angular 6 而改变,其中可能存在运行时翻译的概念,如 ngx-translate。也就是说,除非我被迫这样做,否则我仍然不会将翻译放入 state store,因为它们来自 Web 服务。

于 2018-01-31T20:59:02.400 回答