如何在angular 7应用程序中同时服务多个语言环境?

时间:2019-02-25 21:41:59

标签: angular angular-cli angular7 angular-i18n

在开发应用程序时,我想在我的应用程序支持的多个语言环境之间切换。因此,我需要为具有所有这些语言环境的应用程序提供服务,但是我找不到解决方法。

是否有可能做我想做的事(有/没有任何骇客)?

编辑:值得一提的是,我使用的是此页面建议的i18n方法:https://angular.io/guide/i18n

1 个答案:

答案 0 :(得分:3)

当前,Angular不支持动态翻译系统。如docs所述,您需要为应用程序中所需的每个语言环境生成一个静态构建:

  

您需要为每种支持的语言构建和部署单独的应用版本。

一种解决方案(对我而言,比Angular方法更好)是使用ngx-translate库(GitHub repo)。值得一提的是,库(ocombe)的创建者现在正在与Angular团队合作,基于Ivy Renderer构建新的i18n系统。

在我工作的地方,我们使用Angular i18n系统开始了一个非常大的项目,因为翻译人员使用的是xliff标准格式,但是6个月后,我们决定由于构建时间而放弃(设想在产品中进行10次构建大型项目中的模式...可能需要大约30分钟的构建时间)。我们遇到的另一个问题是Angular翻译系统不支持带有参数的字符串中的翻译,这很常见...