Awesome
告别,以及最后的工作
Hi,各位ComfyUI玩家,大家好,我是只剩一瓶辣椒酱,这是第一次,也是应该是最后一次和大家在这里交流。
从这个工具诞生一年多以来,为数十万AI使用者提供了多语言翻译,作为一个翻译者,我很欣慰能看到有人认可我们的开源工作。
但如大家所见,随着ComfyUI_frontend和客户端的推出,这一套缝缝补补的翻译系统,不再能适应新的框架,同时ComfyUI推出了更先进的内置翻译。
所以,在和ComfyUI作者和官方人员沟通之后,我们决定停止维护这个工具,并将之后的贡献核心转到ComfyUI本身。
接下来
-
我们将争取迁移现有词条到ComfyUI核心。(避免数以万计的中文区视频/文章,因语言发生歧义)。
-
仍旧维护一段时间,以确保使用翻译的老用户能够继续用一段时间。
-
引导对翻译感兴趣的翻译者,加入到ComfyUI官方社区对翻译进行完善和修正。
关于详细内容->大家可以来看下这篇文章https://blog.comfy.org/p/native-localization-support-i18n
最后,感谢大家一年多以来的信赖,感谢各位通宵达旦提供词条的翻译者,以及强行开发而脱发严重的开发者们!
愿开源荣光永存!
AIGODLIKE-ComfyUI-Translation
A plugin for multilingual translation of ComfyUI,This plugin implements translation of resident menu bar/search bar/right-click context menu/node, etc
2024/09/06 Support the latest ComfyUI interface
https://github.com/user-attachments/assets/9418fba8-f499-4414-9c7f-4d548ff77c49
ComfyUI users in other languages, I need your help
I hope ComfyUI can support more languages besides Chinese and English, such as French, German, Japanese, Korean, etc. However, I believe that translation should be done by native speakers of each language. So I need your help, let's go fight for ComfyUI together!
[Korean] Korean translation needs help~
[Japanese] Japanese translation needs help~
Language supported
COMFYUI Translation | 简体中文 | 繁體中文 | English | 日本語 | 한국어 | Русский | Your language |
---|---|---|---|---|---|---|---|
Menu | √ | √ | √ | √ | √ | √ | TODO |
NodeCategory | √ | √ | √ | √ | √ | √ | TODO |
Nodes | √ | √ | √ | √ | √ | √ | TODO |
Function
- Translate all UI of ComfyUI
- Direct language switching (limitation: custom names will be removed) https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION/assets/116185401/e43182b7-8932-4358-bc65-ade7bddf27c5
- Support for adding other languages
- Support translation custom nodes
- (2023/8/16) Support one-click switching between English/currently set language
- (2023/8/19) Support for multilingual translation of custom nodes * (in production)
Custom Node Name | 简中 | 繁中 | English | 日本語 | 한국어 | Русский |
---|---|---|---|---|---|---|
3D-MeshTool | √ | TODO | √ | TODO | TODO | TODO |
3D-Pack | √ | TODO | √ | TODO | TODO | TODO |
Advanced Encode | √ | √ | √ | TODO | TODO | TODO |
Advanced ControlNet | √ | √ | √ | TODO | TODO | TODO |
AGL-ComfyUI-Translation | √ | √ | √ | √ | TODO | TODO |
AlekPet Nodes | √ | √ | √ | √ | TODO | TODO |
AnimateAnyone | √ | TODO | √ | TODO | TODO | TODO |
AnimateDiff | √ | √ | √ | √ | TODO | TODO |
AnimateDiff-Evolved | √ | √ | √ | TODO | TODO | TODO |
AnyLine | √ | TODO | √ | TODO | TODO | TODO |
AnyText | √ | TODO | √ | TODO | TODO | TODO |
Automatic CFG | √ | TODO | √ | TODO | TODO | TODO |
BiRefNet | √ | TODO | √ | TODO | TODO | TODO |
BiRefNet Hugo | √ | TODO | √ | TODO | TODO | TODO |
BitsandBytes NF4 | √ | TODO | √ | TODO | TODO | TODO |
BrushNet (kijai) | √ | TODO | √ | TODO | TODO | TODO |
BrushNet (nullquant) | √ | TODO | √ | TODO | TODO | TODO |
Bxb | √ | TODO | √ | TODO | TODO | TODO |
CCSR | √ | TODO | √ | TODO | TODO | TODO |
Champ | √ | TODO | √ | TODO | TODO | TODO |
CLIP Seg | √ | √ | √ | √ | TODO | TODO |
CogVideo | √ | TODO | √ | TODO | TODO | TODO |
ComfyRoll | √ | √ | √ | TODO | TODO | TODO |
ControlNet LLLite | √ | √ | √ | TODO | TODO | TODO |
ControlNet Preprocessors | √ | √ | √ | √ | TODO | TODO |
ControlNet Preprocessors AUX | √ | √ | √ | √ | TODO | TODO |
ControlNeXt SVD | √ | TODO | √ | TODO | TODO | TODO |
Crystools | √ | TODO | √ | TODO | TODO | √ |
Cutoff | √ | √ | √ | √ | TODO | TODO |
Custom-Scripts | √ | √ | √ | TODO | TODO | TODO |
cg-use-everywhere | √ | TODO | √ | TODO | TODO | TODO |
cg-image-picker | √ | TODO | √ | TODO | TODO | TODO |
Davemane42 Nodes | √ | √ | √ | √ | TODO | TODO |
Dagthomas Nodes | √ | √ | √ | √ | TODO | TODO |
Derfuu Nodes | √ | TODO | √ | TODO | TODO | TODO |
DynamiCrafter (kijai) | √ | TODO | √ | TODO | TODO | TODO |
DynamiCrafter (ExponentialML) | √ | TODO | √ | TODO | TODO | TODO |
DynamicThresholding | √ | √ | √ | TODO | TODO | TODO |
EasyAnimate (chaojie) | √ | TODO | √ | TODO | TODO | TODO |
EasyAnimate (kijai) | √ | TODO | √ | TODO | TODO | TODO |
Easy Tools | √ | TODO | √ | TODO | TODO | TODO |
Easy Use | √ | TODO | √ | TODO | TODO | TODO |
Eesahes Nodes | √ | TODO | √ | TODO | TODO | TODO |
Efficiency Nodes | √ | √ | √ | √ | TODO | TODO |
ELLA (ExponentialML) | √ | TODO | √ | TODO | TODO | TODO |
ELLA (Tencent) | √ | TODO | √ | TODO | TODO | TODO |
EllangoK Postprocessing | √ | √ | √ | TODO | TODO | TODO |
Essentials | √ | TODO | √ | TODO | TODO | TODO |
Execution-Inversion | √ | TODO | √ | TODO | TODO | TODO |
ExLlama nodes | √ | √ | √ | TODO | TODO | TODO |
experiments | √ | √ | √ | TODO | TODO | TODO |
Face Analysis | √ | TODO | √ | TODO | TODO | TODO |
Fast Decode | √ | √ | √ | √ | TODO | TODO |
Florence2 | √ | TODO | √ | TODO | TODO | TODO |
Flowty CRM | √ | TODO | √ | TODO | TODO | TODO |
Flowty TripoSR | √ | TODO | √ | TODO | TODO | TODO |
Frame Interpolation | √ | TODO | √ | TODO | TODO | TODO |
FreeU Advanced | √ | TODO | √ | TODO | TODO | TODO |
IC-Light (kijai) | √ | TODO | √ | TODO | TODO | TODO |
IC-Light-Wrapper (kijai) | √ | TODO | √ | TODO | TODO | TODO |
IF AI tools | √ | TODO | √ | TODO | TODO | TODO |
Image Resize | √ | TODO | √ | TODO | TODO | TODO |
Instant Mesh | √ | TODO | √ | TODO | TODO | TODO |
IPAdapter | √ | √ | √ | TODO | TODO | TODO |
IPAdapter_plus | √ | √ | √ | TODO | TODO | TODO |
Image Grid | √ | √ | √ | TODO | TODO | TODO |
Impact Pack | √ | √ | √ | TODO | TODO | TODO |
Impact Subpack | √ | √ | √ | TODO | TODO | TODO |
Inpaint CropAndStitch | √ | TODO | √ | TODO | TODO | TODO |
Inpaint Nodes | √ | TODO | √ | TODO | TODO | TODO |
Inspire Pack | √ | √ | √ | TODO | TODO | TODO |
InstantID (cubiq) | √ | TODO | √ | TODO | TODO | TODO |
InstantID (ZHO) | √ | TODO | √ | TODO | TODO | TODO |
Joy Caption | √ | TODO | √ | TODO | TODO | TODO |
KJ Nodes | √ | TODO | √ | TODO | TODO | TODO |
kkTranslator | √ | TODO | √ | TODO | TODO | TODO |
Kolors (kijai) | √ | TODO | √ | TODO | TODO | TODO |
Kolors (MinusZone) | √ | TODO | √ | TODO | TODO | TODO |
LaMa Preprocessor | √ | TODO | √ | TODO | TODO | TODO |
Latent2RGB | √ | √ | √ | √ | TODO | TODO |
LayerDiffuse | √ | TODO | √ | TODO | TODO | TODO |
LayerStyle | √ | TODO | √ | TODO | TODO | TODO |
LCM | √ | TODO | √ | TODO | TODO | TODO |
Literals | √ | TODO | √ | TODO | TODO | TODO |
LivePortrait(KJ) | √ | TODO | √ | TODO | TODO | TODO |
LivePortrait-Advanced | √ | TODO | √ | TODO | TODO | TODO |
LoadLoraWithTags | √ | TODO | √ | TODO | TODO | TODO |
Logic | √ | TODO | √ | TODO | TODO | TODO |
LoraAutoTrigger | √ | TODO | √ | TODO | TODO | TODO |
MagicClothing | √ | TODO | √ | TODO | TODO | TODO |
Manager | √ | √ | √ | TODO | TODO | √ |
Marigold | √ | TODO | √ | TODO | TODO | TODO |
Masquerade Nodes | √ | √ | √ | TODO | TODO | TODO |
Math | √ | TODO | √ | TODO | TODO | TODO |
Mixlab Nodes | √ | TODO | √ | TODO | TODO | TODO |
MoonDream | √ | TODO | √ | TODO | TODO | TODO |
MotionCtrl | √ | TODO | √ | TODO | TODO | TODO |
MotionCtrl-SVD | √ | TODO | √ | TODO | TODO | TODO |
MTB | √ | TODO | √ | TODO | TODO | TODO |
N-Sidebar | √ | TODO | √ | TODO | TODO | TODO |
Noise | √ | √ | √ | TODO | TODO | TODO |
NormalLighting | √ | TODO | √ | TODO | TODO | TODO |
Paint By Example | √ | TODO | √ | TODO | TODO | TODO |
Perturbed-Attention | √ | TODO | √ | TODO | TODO | TODO |
Portrai Master | √ | TODO | √ | TODO | TODO | TODO |
Power Noise Suite | √ | TODO | √ | TODO | TODO | TODO |
Prompt Composer | √ | TODO | √ | TODO | TODO | TODO |
Prompt MZ | √ | TODO | √ | TODO | TODO | TODO |
Prompt Reader | √ | TODO | √ | TODO | TODO | TODO |
PuLID (cubiq) | √ | TODO | √ | TODO | TODO | TODO |
QR | √ | √ | √ | TODO | TODO | TODO |
Quick Connections | √ | TODO | √ | TODO | TODO | TODO |
Omost | √ | TODO | √ | TODO | TODO | TODO |
OneButtonPrompt | √ | TODO | √ | TODO | TODO | TODO |
ReActor | √ | TODO | √ | TODO | TODO | TODO |
ResAdapter | √ | TODO | √ | TODO | TODO | TODO |
Restart-Sampling | √ | √ | √ | TODO | TODO | TODO |
Roop | √ | TODO | √ | TODO | TODO | TODO |
rgthree | √ | TODO | √ | TODO | TODO | TODO |
SD-Latent-Interposer | √ | TODO | √ | TODO | TODO | TODO |
SDXL_prompt_styler | √ | √ | √ | TODO | TODO | TODO |
SeargeSDXL | √ | √ | √ | TODO | TODO | TODO |
Segment Anything | √ | TODO | √ | TODO | TODO | TODO |
Segment Anything 2 | √ | TODO | √ | TODO | TODO | TODO |
StabilityNodes | √ | √ | √ | TODO | TODO | TODO |
SUPIR | √ | TODO | √ | TODO | TODO | TODO |
TiledDiffusion | √ | TODO | √ | TODO | TODO | TODO |
TiledKSampler | √ | √ | √ | √ | TODO | TODO |
TinyTerra | √ | TODO | √ | TODO | TODO | TODO |
ToonCrafter | √ | TODO | √ | TODO | TODO | TODO |
TripoAPI | √ | TODO | √ | TODO | TODO | TODO |
UltimateSDUpscale | √ | √ | √ | TODO | TODO | TODO |
Vextra Nodes | √ | √ | √ | TODO | TODO | TODO |
Video Matting | √ | TODO | √ | TODO | TODO | TODO |
Visual Style Prompting | √ | TODO | √ | TODO | TODO | TODO |
VLM Nodes | √ | TODO | √ | TODO | TODO | TODO |
WAS Suite | √ | √ | √ | TODO | TODO | TODO |
WD14-Tagger | √ | √ | √ | TODO | TODO | TODO |
zfkun | √ | TODO | √ | TODO | TODO | TODO |
The above only includes translations for the UI. If you are a developer and need me to help you translate your interface, you can go directly to the ComfyUI Plugins List to add your custom node project, or send an issue, as long as I can see it, I will translate it (it will take some time)
How to install
AIGODLIKE-COMFYUI-TRANSLATION is equivalent to a custom node, you can use any method you like, just put it in folder custom_nodes Then run:
cd ComfyUI/custom_nodes
git clone https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION.git
How to use
For new UI:
For legacy UI:
How to add other languages(translator)
-
Create a new 'Language Name' folder in the plugin directory (e.g. example folder)
-
Find the LocaleMap.js file and add the language code with the same name as the first step folder in it
export const LOCALES = { "zh-CN": { "nativeName": "中文", "englishName": "Chinese Simplified" }, "en-US": { "nativeName": "English (US)", "englishName": "English (US)" }, "example": { "nativeName": "exampleDisplayName", "englishName": "enName" }, }
-
After completing the above two steps, restart the ComfyUI service to find the 'exampleDisplayName' language type in the 'AGLTranslation language' settings bar
How to add custom node translations(translator)
- Translation files are currently divided into three types
- Node information translation (including node name, node connector, node component) corresponding translation file
Your language folder/Nodes/somenode.json
- Node classification information (used for right-click the new node menu) corresponds to the translation file
Your language folder/NodeCategory.json
- Menu information (including resident menu, settings panel, right-click context menu, search menu, etc.) corresponds to translated files
Your language folder/Menu.json
- Node information translation (including node name, node connector, node component) corresponding translation file
- Node information translation can be placed in multiple JSON files under 'Your language folder/Nodes/' based on different nodes
- All translation files are in JSON format, please fill in strictly according to the JSON file format
Translation examples
- Node Translation Format
{ "KSampler": { "title": "KSampler[example translation]", "inputs": { "model": "模型", "positive": "正向提示词", "negative": "反向提示词", "latent_image": "潜空间" }, "widgets": { "seed": "随机种", "control_after_generate": "运行后操作", "steps": "步数", "cfg": "CFG", "sampler_name": "采样器", "scheduler": "调度器", "denoise": "降噪" }, "outputs": { "LATENT": "潜空间", } }, "Load VAE": {} }
- Node classification translation format
{ "Add Node": "Add Node[example]", "Add Group": "Add Group[example]", "Search": "Search[example]", "Queue size:": "Queue size[example]:", "Queue Prompt": "Queue Prompt[example]", "Extra options": "Extra options[example]" }
- Menu information translation format
{ "conditioning": "conditioning[example]", "latent": "latent[example]", "loaders": "loaders[example]", "image": "image[example]" }
Limitations
- Supports direct switching of any language node to the target language, but will lose custom names
- A small portion of options that use Enum type data cannot be translated