# n8n汉化 ## 📚 学习资源 - **汉化教程**:[n8n汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) - **官方文档**:[n8n官方文档](https://docs.n8n.io) - **中文文档**:[n8n中文文档](https://docs.n8ncn.io) 在使用Docker部署时,可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。 ## 🌏 汉化的必要性 ### 为什么需要汉化
👥

团队协作

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

📖

理解准确

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

🎯

专注业务

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

🚀

快速上手

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

## 🐳 Docker部署汉化方案 ### 方案一:环境变量汉化 最简单的汉化方式是通过环境变量设置: ```yaml title="docker-compose.yml" 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: ``` ### 方案二:挂载语言包 更完整的汉化需要挂载自定义语言包: ```yaml title="docker-compose.zh.yml" 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: ``` ## 📁 语言包文件结构 ### 创建本地语言包目录 ```bash # 创建语言包目录 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 ``` ### 自定义翻译内容 ```json title="locales/zh-CN.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": "测试连接" } } } ``` ## 🛠️ 完整汉化部署脚本 ### 一键汉化部署脚本 ```bash title="setup-n8n-zh.sh" #!/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" ``` ### 运行部署脚本 ```bash # 下载并执行部署脚本 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 | | **功能异常** | 汉化后功能出错 | 使用官方语言包版本 | ### 验证汉化是否成功 ```bash # 检查容器环境变量 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完整汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) - **官方多语言支持**: [n8n Internationalization](https://docs.n8n.io/hosting/configuration/#internationalization) - **社区汉化项目**: GitHub上的中文社区维护版本 --- 通过汉化,您的团队可以更高效地使用n8n,减少语言障碍带来的学习成本。 [上一章:凭证管理](credentials.md){ .md-button } [下一章:常用节点](../learning/common-nodes.md){ .md-button .md-button--primary }