369 lines
9.2 KiB
Markdown
369 lines
9.2 KiB
Markdown
# n8n汉化
|
||
|
||
## 📚 学习资源
|
||
|
||
- **汉化教程**:[n8n汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387)
|
||
- **官方文档**:[n8n官方文档](https://docs.n8n.io)
|
||
- **中文文档**:[n8n中文文档](https://docs.n8ncn.io)
|
||
|
||
在使用Docker部署时,可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。
|
||
|
||
## 🌏 汉化的必要性
|
||
|
||
### 为什么需要汉化
|
||
|
||
<div class="feature-grid">
|
||
<div class="feature-card">
|
||
<div class="feature-icon">👥</div>
|
||
<h3>团队协作</h3>
|
||
<p>降低团队成员的学习门槛,提高工作效率</p>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<div class="feature-icon">📖</div>
|
||
<h3>理解准确</h3>
|
||
<p>避免因语言理解偏差导致的配置错误</p>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<div class="feature-icon">🎯</div>
|
||
<h3>专注业务</h3>
|
||
<p>减少语言障碍,专注于业务逻辑设计</p>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<div class="feature-icon">🚀</div>
|
||
<h3>快速上手</h3>
|
||
<p>新用户能更快熟悉界面和功能</p>
|
||
</div>
|
||
</div>
|
||
|
||
## 🐳 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 }
|