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

如何为Angular Electron应用实现多语言本地化(英转拉美西语)

Angular Electron生成多语言独立.exe解决方案

1. 配置Angular多语言构建

  • 先执行ng add @angular/localize添加Angular本地化支持
  • 修改angular.json,为两种语言分别配置构建输出目录:
    "architect": {
      "build": {
        "configurations": {
          "production-es": {
            "localize": ["es-419"],
            "outputPath": "dist/my-app-es"
          },
          "production-en": {
            "localize": ["en-US"],
            "outputPath": "dist/my-app-en"
          }
        }
      }
    }
    
  • 运行构建命令生成对应语言的产物:
    • 西班牙语版本:ng build --configuration=production-es
    • 英语版本:ng build --configuration=production-en

2. 调整Electron主进程的页面加载逻辑

  • 替换win.loadURL()为win.loadFile()(避免本地资源路径解析错误),同时通过环境变量区分加载目录:
    const path = require('path');
    const lang = process.env.LANG || 'en-US';
    const distFolder = lang === 'es-419' ? 'my-app-es' : 'my-app-en';
    const indexFilePath = path.join(__dirname, '../dist', distFolder, 'index.html');
    
    win.loadFile(indexFilePath);
    

3. 配置Electron Builder打包脚本

  • 在package.json中添加两个打包脚本,分别对应两种语言:
    "scripts": {
      "electron:build-es": "ng build --configuration=production-es && cross-env LANG=es-419 electron-builder --win --x64",
      "electron:build-en": "ng build --configuration=production-en && cross-env LANG=en-US electron-builder --win --x64"
    }
    
    (注:cross-env用于跨平台设置环境变量,需先执行npm install cross-env --save-dev安装)
  • 可选:在electron-builder.json中分别配置两种语言的打包参数(如应用名称):
    "configurations": {
      "win-es": {
        "productName": "MiAplicación",
        "files": ["dist/my-app-es/**/*", "main.js", "package.json"]
      },
      "win-en": {
        "productName": "MyApplication",
        "files": ["dist/my-app-en/**/*", "main.js", "package.json"]
      }
    }
    
    对应修改脚本为:
    "scripts": {
      "electron:build-es": "ng build --configuration=production-es && electron-builder --win --x64 --config electron-builder.json:win-es",
      "electron:build-en": "ng build --configuration=production-en && electron-builder --win --x64 --config electron-builder.json:win-en"
    }
    

4. 打包验证

  • 分别执行对应脚本,即可生成独立的英语和西班牙语.exe文件,全程无需维护两个代码版本,所有本地化逻辑由Angular的本地化机制处理。

内容的提问来源于stack exchange,提问作者Zach9224

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:55:20