如何按角度使用其他语言环境的资产?

时间:2020-07-31 14:33:11

标签: angular typescript locale angular-i18n

我正在使用@ angular / localize以三种语言使用我的应用程序,并且在部署服务器上花了很多时间。原因是,即使所有语言环境都使用相同的资产,它们也会被下载并针对每个资产进行部署。

这就是为什么我要删除一个地区以外的所有资产的原因。我使用脚本并删除了文件夹本身。但是,现在我希望其他语言环境使用来自美国的资产,而不是说找不到404,就像他们现在正在做的那样。

目前有什么方法可以实现这一目标?

我的语言环境配置是这样:

"i18n": {
        "sourceLocale": "en-US",
        "locales": {
          "fr":  "src/locale/messages.fr.xtb",
          "pt": "src/locale/messages.pt.xtb",
          "hi": "src/locale/messages.hi.xtb",
        }
      },

要检查我正在使用的配置服务,

"prod-hi": {
                "fileReplacements": [
                    {
                      "replace": "src/environments/environment.ts",
                      "with": "src/environments/environment.prod.ts"
                    }
                  ],
                "optimization": true,
                "outputHashing": "all",
                "sourceMap": false,
                "extractCss": true,
                "namedChunks": false,
                "extractLicenses": true,
                "vendorChunk": false,
                "buildOptimizer": true,
                "deleteOutputPath": false,
                "assets": [],
                "localize": ["hi"]
              },

1 个答案:

答案 0 :(得分:0)

在您的“本地”配置中,您可以使用资产配置来忽略/删除所有不需要的资产。并且仍然输出到资产文件夹:

"assets": [
 {
   "glob": "**/*",
   "input": "src/assets/",
   "ignore": [
      "**/hi/*",
      "**/en/*"
   ],
   "output": "/assets/"
 }
]

这取自:https://angular.io/guide/workspace-config#assets-configuration