/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

Primary LanguageJavaScript

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

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!

[9.5] Japanese translation will start production ~ expected to take 1-3 weeks

[TC] Traditional Chinese translation needs help~

[Korean] Korean translation needs help~

Language supported

COMFYUI Translation Chinese简体中文 English Japanese日本語 Korean한국어 Your language
Menu TODO
NodeCategory TODO TODO
Nodes TODO TODO

Function

  1. Translate all UI of ComfyUI image image image
  2. Direct language switching (limitation: custom names will be removed) https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION/assets/116185401/e43182b7-8932-4358-bc65-ade7bddf27c5
  3. Support for adding other languages
  4. Support translation custom nodes
  5. (2023/8/16) Support one-click switching between English/currently set language
  6. (2023/8/19) Support for multilingual translation of custom nodes * (in production)
Custom Node Name Chinese English Japanese Korean
Advanced Encode TODO TODO
AGL-ComfyUI-Translation TODO TODO
AlekPet Nodes TODO TODO
AnimateDiff TODO TODO
CLIP Seg TODO TODO
ControlNet Preprocessors TODO TODO
ControlNet Preprocessors AUX TODO TODO
Cutoff TODO TODO
Davemane42 Nodes TODO TODO
Efficiency Nodes TODO TODO
EllangoK Postprocessing TODO TODO
experiments TODO TODO
Fast Decode TODO TODO
IPAdapter TODO TODO
Image Grid TODO TODO
Impact Pack TODO TODO
Impact Subpack TODO TODO
Latent2RGB TODO TODO
Manager TODO TODO
Noise TODO TODO
QR TODO TODO
Restart-Sampling TODO TODO
SeargeSDXL TODO TODO
StabilityNodes TODO TODO
TiledKSampler TODO TODO
Vextra Nodes TODO TODO
WAS Suite TODO TODO
WD14-Tagger TODO TODO
IPAdapter 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

image

How to use

Launch ComfyUI and open the menu. Click on the language option to switch languages. image

How to add other languages(translator)

  1. Create a new 'Language Name' folder in the plugin directory (e.g. example folder) image

  2. Find the LocaleMap.js file and add the language code with the same name as the first step folder in it image

    export const LOCALES = {
        "zh-CN": {
            "nativeName": "中文",
            "englishName": "Chinese Simplified"
        },
        "en-US": {
            "nativeName": "English (US)",
            "englishName": "English (US)"                    
        },
        "example": {
            "nativeName": "exampleDisplayName",
            "englishName": "enName"
        },
    }
  3. After completing the above two steps, restart the ComfyUI service to find the 'exampleDisplayName' language type in the 'AGLTranslation language' settings bar image

How to add custom node translations(translator)

  1. Translation files are currently divided into three types
    1. Node information translation (including node name, node connector, node component) corresponding translation file Your language folder/Nodes/somenode.json
    2. Node classification information (used for right-click the new node menu) corresponds to the translation file Your language folder/NodeCategory.json
    3. Menu information (including resident menu, settings panel, right-click context menu, search menu, etc.) corresponds to translated files Your language folder/Menu.json
  2. Node information translation can be placed in multiple JSON files under 'Your language folder/Nodes/' based on different nodes
  3. All translation files are in JSON format, please fill in strictly according to the JSON file format

Translation examples

  1. 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": {}
    }
  2. 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]"
    }
  3. Menu information translation format
    {
        "conditioning": "conditioning[example]",
        "latent": "latent[example]",
        "loaders": "loaders[example]",
        "image": "image[example]"
    }

Limitations

  1. Supports direct switching of any language node to the target language, but will lose custom names
  2. A small portion of options that use Enum type data cannot be translated image