ComfyUI-DD-Translation 插件完全教程
1. 插件简介
插件地址: https://github.com/Dontdrunk/ComfyUI-DD-Translation
这个插件是一个超级实用的"中文翻译神器"!简单来说,就是能让你的ComfyUI界面从英文变成中文,让你不再为看不懂英文而烦恼。想象一下,你打开ComfyUI,所有的节点名称、菜单选项、按钮文字都变成了熟悉的中文,是不是瞬间感觉亲切多了?
能给我们带来什么效果?
- 把ComfyUI的英文界面全部变成中文(就像给软件装了个翻译器)
- 支持大部分常用插件的中文翻译
- 可以随时切换中英文显示
- 让新手更容易上手ComfyUI
- 提高工作效率,不用再查单词
这个插件特别适合:
- 英文不太好的ComfyUI用户
- 刚开始学习ComfyUI的新手
- 想要提高工作效率的创作者
- 需要中文界面的团队协作
核心特色:
- 全面翻译:不仅翻译官方节点,还支持大量第三方插件
- 智能切换:可以在"附加翻译"和"官方实现"之间切换
- 实时更新:持续更新最新插件的翻译
- 无冲突:与ComfyUI官方中文功能完美兼容
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI
- 点击 Manager 按钮
- 搜索 "ComfyUI-DD-Translation"
- 点击安装
- 重启 ComfyUI
方法二:通过Git安装
- 在ComfyUI Manager中点击"Install via Git URL"
- 输入:
https://github.com/1761696257/ComfyUI-DD-Translation.git - 点击安装
- 重启 ComfyUI
方法三:手动安装
- 进入 ComfyUI 的
custom_nodes文件夹 - 运行命令:
git clone https://github.com/Dontdrunk/ComfyUI-DD-Translation.git - 重启 ComfyUI
注意:这个插件不需要额外安装依赖包,安装后直接可用。
3. 功能详细解析
本插件是一个纯前端翻译插件,没有传统意义上的"节点",而是通过前端JavaScript代码实现界面翻译功能。插件包含 3 个核心JavaScript文件 + 1 个后端支持文件,本教程将详细解释每个组件的功能。
3.1 main.js - 主控制器
这个文件就像整个翻译系统的"大脑",负责协调所有翻译功能。
核心功能说明:
| 功能名称 | 功能描述 | 通俗解释 | 使用场景 |
|---|---|---|---|
| TUtils类 | 翻译工具主类 | 就像一个翻译管家,管理所有翻译工作 | 整个插件的核心控制器 |
| syncTranslation | 同步翻译数据 | 就像下载字典,获取最新的翻译内容 | 插件启动时自动执行 |
| applyNodeTranslation | 应用节点翻译 | 就像给每个节点贴上中文标签 | 每次创建或加载节点时 |
| applyMenuTranslation | 应用菜单翻译 | 就像给菜单换上中文名字 | 界面加载时自动执行 |
| toggleTranslation | 切换翻译状态 | 就像一个中英文切换开关 | 用户点击切换按钮时 |
主要参数配置:
| 参数名称 | 参数类型 | 默认值 | 通俗解释 | 专业解释 | 使用建议 |
|---|---|---|---|---|---|
| TRANSLATION_ENABLED_KEY | 字符串 | "DD.TranslationEnabled" | 翻译开关的存储名称 | 本地存储键名 | 不建议修改 |
| locale | 字符串 | "zh-CN" | 翻译语言设置 | 目标语言代码 | 目前只支持中文 |
| T.Nodes | 对象 | {} | 节点翻译数据 | 节点翻译映射表 | 自动加载,无需手动设置 |
| T.Menu | 对象 | {} | 菜单翻译数据 | 菜单翻译映射表 | 自动加载,无需手动设置 |
| T.NodeCategory | 对象 | {} | 分类翻译数据 | 节点分类翻译映射表 | 自动加载,无需手动设置 |
3.2 MenuTranslate.js - 菜单翻译器
这个文件就像一个专门的"菜单翻译员",负责把界面上的各种菜单和按钮翻译成中文。
核心功能说明:
| 功能名称 | 功能描述 | 通俗解释 | 使用场景 |
|---|---|---|---|
| TExe类 | 翻译执行器 | 就像一个勤劳的翻译工人,到处找英文替换成中文 | 实时翻译界面元素 |
| applyMenuTranslation | 应用菜单翻译 | 就像给整个界面刷一遍中文漆 | 界面初始化时 |
| observeFactory | 观察者工厂 | 就像安装监控摄像头,监视界面变化 | 动态翻译新出现的元素 |
| replaceText | 替换文本 | 就像查找替换功能,把英文换成中文 | 发现英文文本时自动执行 |
翻译规则配置:
| 规则名称 | 规则类型 | 默认设置 | 通俗解释 | 专业解释 | 注意事项 |
|---|---|---|---|---|---|
| excludeClass | 数组 | ["lite-search-item-type"] | 不需要翻译的CSS类名 | 排除翻译的元素类列表 | 避免翻译某些特殊元素 |
| containsChineseCharacters | 函数 | 中文字符检测 | 检查文字是否已经是中文 | 中文字符正则匹配 | 避免重复翻译 |
| nativeTranslatedSettings | 数组 | 官方已翻译项目 | 官方已经翻译好的设置项 | 原生翻译项目列表 | 避免覆盖官方翻译 |
3.3 utils.js - 工具库
这个文件就像一个"工具箱",提供各种翻译需要用到的小工具和辅助函数。
工具函数说明:
| 函数名称 | 函数功能 | 通俗解释 | 返回值 | 使用场景 |
|---|---|---|---|---|
| error | 错误日志记录 | 就像一个错误记录本,记录出现的问题 | 无 | 调试和错误追踪 |
| containsChineseCharacters | 中文字符检测 | 就像一个中文识别器,判断文字是否包含中文 | 布尔值 | 避免重复翻译中文内容 |
| isAlreadyTranslated | 翻译状态检测 | 就像检查员,看看文字是否已经被翻译过 | 布尔值 | 防止重复翻译 |
| isTranslationEnabled | 翻译开关状态 | 就像检查开关是否打开 | 布尔值 | 判断是否需要执行翻译 |
| toggleTranslation | 切换翻译状态 | 就像一个开关,控制翻译的开启和关闭 | 无 | 用户手动切换翻译 |
配置参数说明:
| 参数名称 | 参数类型 | 默认值 | 通俗解释 | 专业解释 | 修改建议 |
|---|---|---|---|---|---|
| TRANSLATION_ENABLED_KEY | 常量 | "DD.TranslationEnabled" | 翻译开关在浏览器中的存储名 | 本地存储键名 | 不建议修改 |
| nativeTranslatedSettings | 数组 | ["Comfy", "画面", "外观", "3D", "遮罩编辑器"] | 官方已翻译的设置项列表 | 原生翻译项目白名单 | 可根据官方更新调整 |
| chineseRegex | 正则表达式 | /[\u4e00-\u9fff\uf900-\ufaff\u3000-\u303f]/ | 中文字符的识别规则 | Unicode中文字符范围 | 不建议修改 |
3.4 init.py - 后端支持
这个文件就像一个"翻译数据服务器",负责提供翻译数据给前端使用。
核心功能说明:
| 功能名称 | 功能描述 | 通俗解释 | 技术实现 |
|---|---|---|---|
| get_translation | 获取翻译数据接口 | 就像一个翻译字典查询服务 | HTTP POST接口 |
| compile_translation | 编译翻译数据 | 就像把分散的字典整理成一本大字典 | JSON数据合并 |
| compress_json | 压缩数据传输 | 就像给数据打包压缩,传输更快 | GZIP压缩 |
| register/unregister | 注册/注销插件 | 就像软件的安装和卸载程序 | 文件系统操作 |
配置参数说明:
| 参数名称 | 参数类型 | 默认值 | 通俗解释 | 专业解释 | 用途说明 |
|---|---|---|---|---|---|
| VERSION | 字符串 | "1.8.7" | 插件版本号 | 当前插件版本标识 | 版本管理和兼容性检查 |
| ADDON_NAME | 字符串 | "ComfyUI-DD-Translation" | 插件名称 | 插件标识符 | 系统识别和路径管理 |
| locale | 字符串 | "zh-CN" | 默认语言 | 目标翻译语言代码 | 决定加载哪种语言的翻译 |
3.5 翻译数据文件结构
插件包含大量翻译数据文件,分为三个主要类别:
3.5.1 节点翻译文件 (zh-CN/Nodes/)
- 文件数量:约150个JSON文件
- 功能:翻译各种插件的节点名称和参数
- 格式:
{"节点英文名": {"title": "中文标题", "inputs": {...}, "outputs": {...}}}
3.5.2 分类翻译文件 (zh-CN/Categories/)
- 文件数量:约50个JSON文件
- 功能:翻译节点分类和菜单分类
- 格式:
{"英文分类名": "中文分类名"}
3.5.3 菜单翻译文件 (zh-CN/Menus/)
- 文件数量:约60个JSON文件
- 功能:翻译右键菜单、设置面板等界面元素
- 格式:
{"英文菜单项": "中文菜单项"}
4. 使用技巧和建议
4.1 翻译模式选择
- 附加翻译模式:在官方中文基础上添加更多翻译内容
- 官方实现模式:只使用ComfyUI官方的中文翻译
- 切换方法:点击界面右上角的"附加翻译"/"官方实现"按钮
4.2 最佳使用建议
- 推荐设置:使用"附加翻译"模式获得最完整的中文体验
- 兼容性:建议使用最新版ComfyUI以获得最佳兼容性
- 浏览器选择:推荐使用Chrome或Edge浏览器
- 更新频率:插件会持续更新,建议定期更新
4.3 自定义翻译
- 翻译生成器:插件根目录有"翻译生成器.html"工具
- 贡献翻译:可以通过GitHub提交新的翻译内容
- 本地修改:可以直接编辑JSON文件添加自定义翻译
4.4 性能优化建议
- 缓存机制:插件使用本地缓存,首次加载后速度会更快
- 按需加载:只加载当前需要的翻译数据
- 内存管理:自动清理不需要的观察者,避免内存泄漏
5. 常见问题解答
5.1 安装相关问题
Q: 安装后没有看到中文翻译怎么办?
A:
- 确保重启了ComfyUI
- 检查右上角是否有"附加翻译"/"官方实现"切换按钮
- 尝试点击切换按钮激活翻译功能
Q: 翻译按钮显示异常怎么办?
A:
- 刷新浏览器页面
- 清除浏览器缓存
- 检查浏览器控制台是否有错误信息
Q: 与其他插件冲突怎么办?
A:
- 这个插件设计为兼容性优先,很少出现冲突
- 如果有冲突,尝试调整插件加载顺序
- 可以临时禁用其他插件测试
5.2 使用相关问题
Q: 某些节点没有翻译怎么办?
A:
- 这是正常现象,插件在持续更新翻译内容
- 可以使用翻译生成器工具自己添加翻译
- 可以向项目贡献翻译内容
Q: 翻译不准确怎么办?
A:
- 可以通过GitHub提交改进建议
- 使用翻译生成器工具修改本地翻译
- 切换到"官方实现"模式使用官方翻译
Q: 切换翻译模式后没有效果怎么办?
A:
- 切换后会自动刷新页面,请等待
- 如果没有自动刷新,手动刷新浏览器
- 检查浏览器是否阻止了页面刷新
Q: 翻译数据加载失败怎么办?
A:
- 检查网络连接是否正常
- 重启ComfyUI服务
- 查看浏览器控制台的错误信息
5.3 高级使用问题
Q: 如何添加自定义翻译?
A:
- 使用插件根目录的"翻译生成器.html"工具
- 或直接编辑zh-CN文件夹下的JSON文件
- 重启ComfyUI生效
Q: 如何贡献翻译内容?
A:
- Fork项目到自己的GitHub
- 添加或修改翻译文件
- 提交Pull Request
Q: 如何禁用某些翻译?
A: 可以编辑对应的JSON文件,删除不需要的翻译条目,或切换到"官方实现"模式。
6. 版本更新和维护
6.1 更新日志亮点
- v1.8.7:修正翻译内容,补全节点拖拽翻译
- v1.8.0:修复与官方翻译的兼容性问题
- v1.7.0:解决手动修改节点标题被重置的问题
- v1.6.0:推出翻译生成器工具,降低贡献门槛
6.2 支持的插件列表(部分)
- ComfyUI官方节点
- ComfyUI-Manager
- rgthree-comfy
- ComfyUI-Impact-Pack
- ComfyUI-Inspire-Pack
- 以及150+其他常用插件
6.3 维护状态
- 活跃维护:项目持续更新中
- 社区贡献:欢迎社区贡献翻译内容
- 兼容性:优先支持最新版ComfyUI
7. 总结
ComfyUI-DD-Translation插件是一个功能全面的中文翻译解决方案,通过本教程的详细介绍,你应该已经掌握了:
- 插件的核心价值:全面的中文界面翻译支持
- 技术架构理解:前端翻译 + 后端数据支持的实现方式
- 使用技巧:如何选择翻译模式和优化使用体验
- 问题解决:常见问题的解决方案
功能组件统计总结:
- JavaScript核心文件:3个(main.js, MenuTranslate.js, utils.js)
- 后端支持文件:1个(init.py)
- 翻译数据文件:约260个JSON文件
- 总功能模块:4个核心组件
- 涵盖了界面翻译、数据管理、用户交互等完整功能
记住,这个插件的最大价值是让ComfyUI变得更加亲民和易用。无论你是新手还是老用户,中文界面都能显著提升你的使用体验和工作效率。
最后提醒:
- 建议使用"附加翻译"模式获得最完整体验
- 定期更新插件以获得最新翻译内容
- 遇到问题可以通过GitHub社区寻求帮助
- 欢迎贡献翻译内容,让插件变得更好