这个教程解决什么问题
n8n 装好默认是英文界面,菜单、节点参数、报错提示全是英文,新手找功能全靠翻译软件。这篇给你两条路把界面变中文:先试官方 i18n 机制,改一个环境变量就完事;官方语言列表覆盖不到、或翻译颗粒度太粗时,再上社区汉化包。同时把丑话说在前面——汉化的边界在哪、升级后会不会失效、哪些东西永远翻不过来。
汉化的两条路线,先分清
路线一:官方界面语言设置(零成本,先试这个)。 n8n 前端内置 i18n 框架,界面文案按语言包组织,实例语言由环境变量 N8N_DEFAULT_LOCALE 控制。官方收录了哪些语言、简体中文(zh)是否在内,随版本演进一直在变,动手前先核对官方文档:【待补:查官方文档当前支持的语言列表,确认是否含 zh】。
docker run -d --name n8n \
-p 5678:5678 \
-e N8N_DEFAULT_LOCALE=zh \
-e GENERIC_TIMEZONE=Asia/Shanghai \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
启动后浏览器强刷(Ctrl+Shift+R),界面变中文就到此收工。没变或只有零星几个词条变了,说明当前版本未收录中文或覆盖不全,进路线二。
路线二:社区汉化包。 n8n 官方编辑器是编译好的前端静态资源,社区汉化的通用原理就是”覆盖”:把翻译好的语言资源或替换后的前端文件盖进安装目录。GitHub 搜”n8n 汉化”或”n8n i18n”能找到若干社区项目,挑的时候看三件事:维护是否活跃(n8n 在 2023 年发布 1.0 版本后仍保持高频发版)、声明的 n8n 版本区间与你的镜像 tag 是否对得上、覆盖范围是编辑器 UI 还是连节点说明一起翻。【待补:你实际使用的汉化项目地址、版本对应关系、覆盖词条数】
分步骤:社区语言包安装
前提:已经用 Docker 跑起 n8n。npm 直装的用户原理相同,只是目标路径换成全局 node_modules 里的对应目录。汉化本身零运行时开销,1 核 2 GB 的机器照跑不误。
第一步,把版本号钉死。 汉化包对版本极其敏感,先确认自己跑的是哪个版本:
docker exec n8n n8n --version
第二步,定位编辑器资源目录。 不同版本前端文件位置有差异,不要照抄网上文章里的死路径,直接进容器找:
docker exec n8n sh -c "find /usr/local/lib/node_modules/n8n -maxdepth 4 -type d -iname '*editor*' 2>/dev/null"
docker exec n8n sh -c "ls /usr/local/lib/node_modules/n8n"
【待补:你的版本里编辑器静态资源实际路径与需要覆盖的文件清单】
第三步,选接法:挂载覆盖或自建镜像。 两种接法二选一:
接法 A,直接挂载覆盖(上手快,升级易碎)。把翻译文件逐个挂到第二步定位出的具体文件路径上,-v 宿主机文件:容器内文件 一条对应一个覆盖位。快是快,但覆盖点散落在启动命令里,容器一重建就要重新核对,适合先验证效果。
接法 B,自建镜像(推荐,把汉化固化进 tag):
FROM docker.n8n.io/n8nio/n8n
# 路径按第二步 find 的结果改
COPY ./zh-pack/ /usr/local/lib/node_modules/n8n/<编辑器资源目录>/
docker build -t my-n8n:zh .
docker stop n8n && docker rm n8n
docker run -d --name n8n \
-p 5678:5678 \
-e N8N_DEFAULT_LOCALE=zh \
-v n8n_data:/home/node/.n8n \
my-n8n:zh
数据卷 n8n_data 与镜像无关,重建容器后工作流、凭据、执行记录原样保留。
第四步,验证覆盖面。 强刷浏览器,按顺序过一遍:左侧菜单、工作流列表、节点搜索弹窗、某个节点的参数页、设置页。中英混排是正常现象,个别词条没翻属于社区包的常态,追求全量就自己补词条、给项目提 PR。
常见坑
坑 1:汉化包与版本不匹配,界面白屏或组件报错
前端是按版本编译的产物,拿 A 版本的汉化包盖 B 版本的资源,轻则词条错位,重则整个编辑器起不来。排障顺序固定三步:docker logs n8n 看前端报错 → 摘掉覆盖(换回官方镜像启动)确认是覆盖引起 → 严格按汉化项目标注的版本区间重新对号。这也是第一步就要把 n8n —version 钉死的原因。
坑 2:升级后中文消失
容器重建等于回到官方镜像,覆盖的文件全部归零。接法 B 的价值就在这里:升级 = 改 Dockerfile 里 FROM 的基线版本重新 build,汉化跟着镜像走。用接法 A 的,把挂载命令收进启动脚本管理,别靠手敲记忆。另外升级前先导出一份工作流 JSON,双保险。
坑 3:以为汉化能翻一切
界面文案能翻的有限:节点内部参数的英文提示、报错详情、官方文档大多是英文,社区包一般只覆盖编辑器 UI 层。该会看英文报错还得会看,汉化是降低上手门槛,不是替代理解。
坑 4:直接拉来路不明的”汉化整合镜像”
第三方整合镜像等于把你整个实例交给陌生人——所有凭据都存在实例里。底线是用官方镜像,再加来源可见的覆盖文件;任何”一键中文版”镜像,先看 Dockerfile 再决定用不用。
最终效果与验证
合格状态:编辑器整体为中文,节点搜索、设置页、工作流列表无错位无白屏;n8n —version 与汉化包标注的版本区间一致;完整演练过一次”改基线版本重新 build”的升级流程,汉化不丢、数据不丢。最后提醒一句取舍:中文化是体验优化,不是必需项。如果汉化包的维护节奏明显跟不上 n8n 的发版速度,回退英文界面加浏览器翻译,是维护成本更低的选择。

【待补:汉化后界面截图与所用版本号】