我们最近决定为我们的应用程序支持多种语言(Angular 13.x)。经过研究,我们决定使用angular/localize
看起来很适合我们的需求的包。
一切似乎都在解决唯一的问题,即在后续的构建和更改中保持翻译文件最新。
因此,请遵循 Angular 网站上的指南https://angular.io/guide/i18n-common-translation-files we use ng extract-i18n
cli 工具生成messages.xlf
file
ng extract-i8n --format xlf --output-path src/locale/
下一步是复制生成messages.xlf
支持不同的区域设置。为了简单起见,假设我们支持法语,所以我们创建一个messages.fr.xlf
在相同的/locale
子文件夹。这由第三方服务进行翻译(尚未确定如何自动执行此操作 - 欢迎提出建议)。到目前为止,一切都很好..
现在的问题是围绕组件的后续更改和新翻译的添加。这ng extract-18n
将正确生成messages.xlf
以及新的和修改后的翻译。但是如何更新/合并其他语言环境文件,例如messages.fr.xlf
而不覆盖现有的更改?如何实现自动化并将新更改合并到该文件中?我是否缺少 Angular cli 已经支持的东西?
我遇到过这个xliffmerge
tool https://github.com/martinroob/ngx-i18nsupport/tree/master/projects/xliffmerge但这似乎是一个旧工具,似乎不支持 Angular 9+ 以上的新版本。
我假设这对每个人来说都是一个相当普遍的问题,并且 Angular CLI 是否已经支持这个问题。
当前版本
角 13.x
感谢您的帮助。
替代/新的解决方案(针对未维护的 ngx-i18nsupport)是https://github.com/daniel-sc/ng-extract-i18n-merge
安装后通过
ng add ng-extract-i18n-merge
翻译将被提取并合并使用命令:
ng extract-i18n
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)