Files
n8n-guide/docs/installation/localization.md
2025-09-09 09:29:17 +08:00

9.2 KiB
Raw Blame History

n8n汉化

📚 学习资源

在使用Docker部署时可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。

🌏 汉化的必要性

为什么需要汉化

👥

团队协作

降低团队成员的学习门槛,提高工作效率

📖

理解准确

避免因语言理解偏差导致的配置错误

🎯

专注业务

减少语言障碍,专注于业务逻辑设计

🚀

快速上手

新用户能更快熟悉界面和功能

🐳 Docker部署汉化方案

方案一:环境变量汉化

最简单的汉化方式是通过环境变量设置:

version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      # 基础配置
      - GENERIC_TIMEZONE=Asia/Shanghai
      - N8N_DEFAULT_LOCALE=zh-CN
      - N8N_DEFAULT_BINARY_DATA_MODE=filesystem
      
      # 界面汉化
      - LOCALE=zh-CN
      - LC_ALL=zh_CN.UTF-8
      - LANG=zh_CN.UTF-8
      
      # 认证配置
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your-password
    volumes:
      - n8n_data:/home/node/.n8n
      - /data/n8n/files:/files

volumes:
  n8n_data:

方案二:挂载语言包

更完整的汉化需要挂载自定义语言包:

version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    container_name: n8n-zh
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Shanghai
      - N8N_DEFAULT_LOCALE=zh-CN
      - NODE_ENV=production
    volumes:
      - n8n_data:/home/node/.n8n
      - /data/n8n/files:/files
      # 挂载中文语言包
      - ./locales:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales
    depends_on:
      - postgres

  postgres:
    image: postgres:13
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8n_password
      - POSTGRES_DB=n8n
      # 设置数据库字符集
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=zh_CN.UTF-8 --lc-ctype=zh_CN.UTF-8
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  n8n_data:
  postgres_data:

📁 语言包文件结构

创建本地语言包目录

# 创建语言包目录
mkdir -p /data/n8n/locales

# 下载中文语言包
curl -o /data/n8n/locales/zh-CN.json https://raw.githubusercontent.com/n8n-io/n8n/master/packages/editor-ui/src/plugins/i18n/locales/zh.json

自定义翻译内容

{
  "n8n": {
    "auth": {
      "signin": "登录",
      "signup": "注册",
      "signout": "退出登录",
      "forgotPassword": "忘记密码"
    },
    "generic": {
      "save": "保存",
      "cancel": "取消",
      "delete": "删除",
      "edit": "编辑",
      "create": "创建",
      "search": "搜索",
      "loading": "加载中..."
    },
    "workflows": {
      "new": "新建工作流",
      "save": "保存工作流",
      "execute": "执行工作流",
      "activate": "激活",
      "deactivate": "停用"
    },
    "nodes": {
      "add": "添加节点",
      "delete": "删除节点",
      "duplicate": "复制节点",
      "rename": "重命名"
    },
    "credentials": {
      "title": "凭证管理",
      "create": "创建凭证",
      "edit": "编辑凭证",
      "test": "测试连接"
    }
  }
}

🛠️ 完整汉化部署脚本

一键汉化部署脚本

#!/bin/bash

# n8n中文版一键部署脚本

set -e

echo "🚀 开始部署n8n中文版..."

# 创建必要目录
echo "📁 创建目录结构..."
mkdir -p /data/n8n/{config,files,locales,backups}

# 下载语言包
echo "🌏 下载中文语言包..."
curl -s -o /data/n8n/locales/zh-CN.json \
  https://raw.githubusercontent.com/n8n-io/n8n/master/packages/editor-ui/src/plugins/i18n/locales/zh.json

# 创建docker-compose配置
echo "🐳 创建Docker配置..."
cat > /data/n8n/docker-compose.yml << 'EOF'
version: '3.8'

services:
  postgres:
    image: postgres:13
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8n_secure_password
      - POSTGRES_DB=n8n
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=zh_CN.UTF-8 --lc-ctype=zh_CN.UTF-8
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - n8n-network

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      # 数据库配置
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n_secure_password
      
      # 基础配置
      - GENERIC_TIMEZONE=Asia/Shanghai
      - N8N_DEFAULT_LOCALE=zh-CN
      - N8N_ENCRYPTION_KEY=your-encryption-key-32-chars
      
      # 界面汉化
      - LOCALE=zh-CN
      - LC_ALL=zh_CN.UTF-8
      - LANG=zh_CN.UTF-8
      
      # 安全配置
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin_secure_password
      
      # Webhook配置
      - WEBHOOK_URL=http://localhost:5678/
      
    volumes:
      - /data/n8n/config:/home/node/.n8n
      - /data/n8n/files:/files
      - /data/n8n/locales:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales
    depends_on:
      - postgres
    networks:
      - n8n-network

volumes:
  postgres_data:

networks:
  n8n-network:
    driver: bridge
EOF

# 启动服务
echo "🚀 启动n8n服务..."
cd /data/n8n
docker-compose up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 30

# 检查服务状态
echo "🔍 检查服务状态..."
docker-compose ps

# 显示访问信息
echo "✅ n8n中文版部署完成"
echo "🌐 访问地址: http://localhost:5678"
echo "👤 用户名: admin"
echo "🔑 密码: admin_secure_password"
echo ""
echo "📚 管理命令:"
echo "  查看日志: cd /data/n8n && docker-compose logs -f"
echo "  重启服务: cd /data/n8n && docker-compose restart"
echo "  停止服务: cd /data/n8n && docker-compose down"
echo "  备份数据: cd /data/n8n && docker-compose exec postgres pg_dump -U n8n n8n > backups/backup-\$(date +%Y%m%d).sql"

运行部署脚本

# 下载并执行部署脚本
curl -sL https://raw.githubusercontent.com/your-repo/n8n-zh/main/setup.sh | bash

# 或者手动执行
chmod +x setup-n8n-zh.sh
./setup-n8n-zh.sh

🎨 界面汉化效果

汉化前后对比

功能区域 英文原版 中文汉化
主菜单 Workflows, Credentials, Executions 工作流, 凭证, 执行历史
节点类型 Triggers, Inputs, Processes, Outputs 触发器, 输入, 处理, 输出
操作按钮 Execute, Save, Activate, Settings 执行, 保存, 激活, 设置
状态信息 Running, Success, Error, Waiting 运行中, 成功, 错误, 等待中

汉化覆盖范围

已汉化内容:

  • 主界面菜单和导航
  • 节点分类和常用节点名称
  • 工作流操作按钮
  • 错误提示信息
  • 设置界面选项

⚠️ 部分汉化内容:

  • 某些第三方节点名称
  • 高级配置选项
  • 开发者相关功能

未汉化内容:

  • 社区节点描述
  • 技术文档链接
  • 日志详细信息

🔧 汉化问题排查

常见问题和解决方案

问题 症状 解决方案
语言包未生效 界面仍显示英文 检查挂载路径和环境变量
部分乱码 某些文字显示异常 确认字符集设置为UTF-8
功能异常 汉化后功能出错 使用官方语言包版本

验证汉化是否成功

# 检查容器环境变量
docker exec n8n env | grep -E "(LANG|LOCALE)"

# 检查语言包文件
docker exec n8n ls -la /usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales/

# 查看n8n日志
docker-compose logs n8n | grep -i locale

📚 参考资源


通过汉化您的团队可以更高效地使用n8n减少语言障碍带来的学习成本。

上一章:凭证管理{ .md-button } 下一章:常用节点{ .md-button .md-button--primary }