Angular 11 内置了对i18n 的支持。这在angular.json
配置文件中配置时非常有效。我正在从事大型项目,其中单个 monorepo 中有多个子项目。我们正在使用 Nrwl NXworkspace.json
来配置项目。问题是workspace.json
i18n 的语法不同,而且似乎与angular.json
. 此外,关于 i18n 的 NX 文档非常简短(几乎不存在)。
结果是目前我的应用程序根本没有本地化。
任何想法如何使 i18n 在 NRWL NX 中工作?
先感谢您。
经过多次尝试,我找到了一种使其工作的方法。
因此,如何使 Angular 的 i18n 在 NRWL NX 工作区中工作有几个步骤。
步骤 #1) 在默认构建目标中定义多个语言环境
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
"options": {
// … options not relevant to i18n removed
"i18nMissingTranslation": "warning",
"localize": ["fr", "en", "sp"]
},
步骤 #2) 为每个语言环境定义命名的构建目标
"configurations": {
"production": {
// ... some prod settings
},
"en": {
"localize": ["en"]
},
"fr": {
"localize": ["fr"]
}
},
步骤 #3) 更新服务配置以使用特定的构建目标注意appname:build:en
- 指示 nx 服务使用特定的构建目标
"serve": {
"executor": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "appname:build:en"
}
}
步骤 #4) 运行 nx serve 以验证其工作
包含更多详细信息的完整文章在这里 - http://blog.davidjs.com/2021/03/working-with-angular-i18n-inside-nrwl-nx-workspace/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句