You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular localize中配置使用本地化图片资源?

解决方案

该需求不需要依赖Angular localize的特殊能力,直接通过angular.json的构建配置即可实现,完全符合你预期的打包输出结构,具体操作如下:

1. 整理本地资源(两种方案可选)

方案A:按语言拆分资源目录(更推荐,易维护)

在src目录下新建assets-i18n文件夹,内部按语言标识建子目录,对应语言的图片直接用无后缀的名称存储:

- /src
    - /assets-i18n
        - /en
            - my-image.png // 英文专属图
        - /de
            - my-image.png // 德文专属图
    - /assets // 所有语言通用的公共资源仍放在这里

方案B:保留现有带语言后缀的命名

如果不想调整现有文件结构,继续使用my-image_en.png、my-image_de.png的命名规则也可以,直接放在原src/assets目录下即可。

2. 修改angular.json配置

打开项目根目录的angular.json,找到projects -> 你的项目名 -> architect -> build -> configurations节点,为每个语言的构建配置单独添加assets规则:

{
  "configurations": {
    "en": {
      "localize": ["en"],
      // 覆盖顶层assets配置,先加载公共资源,再加载对应语言的专属资源
      "assets": [
        // 保留公共资源的打包规则
        {
          "glob": "**/*",
          "input": "src/assets/",
          "output": "/assets/"
        },
        // 方案A的配置:加载英文专属目录资源
        {
          "glob": "**/*",
          "input": "src/assets-i18n/en/",
          "output": "/assets/"
        }
        // 方案B的配置(如果用方案A可删掉这段):匹配带后缀的英文图,重命名输出
        // {
        //   "glob": "my-image_en.png",
        //   "input": "src/assets/",
        //   "output": "/assets/my-image.png"
        // }
      ]
    },
    "de": {
      "localize": ["de"],
      "assets": [
        {
          "glob": "**/*",
          "input": "src/assets/",
          "output": "/assets/"
        },
        // 方案A:加载德文专属目录资源
        {
          "glob": "**/*",
          "input": "src/assets-i18n/de/",
          "output": "/assets/"
        }
        // 方案B的配置
        // {
        //   "glob": "my-image_de.png",
        //   "input": "src/assets/",
        //   "output": "/assets/my-image.png"
        // }
      ]
    }
  }
}

3. 代码中直接引用图片

配置完成后,代码里不需要写任何语言判断逻辑,直接用统一路径引用即可:

<img src="/assets/my-image.png" alt="示例图">

构建后对应语言包的assets目录下会自动放入对应语言的图片,访问对应语言站点时会自动加载正确的资源。


内容的提问来源于stack exchange,提问作者Bastiaan van den Berg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:54:04