如何使 Angular 11 i18n 在 NRWL NX workspace.json 中工作?

大卫·沃特鲁贝克

Angular 11 内置了对i18n 的支持这在angular.json配置文件配置时非常有效我正在从事大型项目,其中单个 monorepo 中有多个子项目。我们正在使用 Nrwl NXworkspace.json来配置项目。问题是workspace.jsoni18n 的语法不同,而且似乎与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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章