Convert Figma logo to code with AI

AIGODLIKE logoAIGODLIKE-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

1,901
149
1,901
19

Top Related Projects

26,648

🤗 Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch and FLAX.

A latent text-to-image diffusion model

Stable Diffusion web UI

53,273

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

23,395

Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.

High-Resolution Image Synthesis with Latent Diffusion Models

Quick Overview

The AIGODLIKE/AIGODLIKE-ComfyUI-Translation repository is a project that provides translations for the ComfyUI user interface, a popular tool for generating and editing images using AI models. The project aims to make ComfyUI accessible to users from different language backgrounds.

Pros

  • Multilingual Support: The project offers translations for multiple languages, making ComfyUI accessible to a wider audience.
  • Community Contributions: The project encourages community involvement, allowing users to contribute translations and improve the overall quality of the translations.
  • Regularly Updated: The project is actively maintained, with regular updates to keep up with the latest changes in the ComfyUI application.
  • Easy Integration: The translations can be easily integrated into the ComfyUI application, providing a seamless user experience.

Cons

  • Limited Language Coverage: While the project supports multiple languages, the coverage may not be comprehensive, and some users may still encounter untranslated content.
  • Potential Inaccuracies: As the translations are community-driven, there may be instances of inaccurate or inconsistent translations, which could lead to confusion for users.
  • Dependency on ComfyUI: The project is tightly coupled with the ComfyUI application, and any changes or updates to ComfyUI may require corresponding updates to the translation project.
  • Lack of Offline Support: The translations are hosted online, and users may need an internet connection to access the latest translations, which could be a limitation for some users.

Code Examples

This project is not a code library, so there are no code examples to provide.

Getting Started

This project is not a code library, so there are no getting started instructions to provide.

Competitor Comparisons

26,648

🤗 Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch and FLAX.

Pros of diffusers

  • Comprehensive library for state-of-the-art diffusion models
  • Extensive documentation and examples for various use cases
  • Active development and frequent updates from the Hugging Face team

Cons of diffusers

  • Steeper learning curve for beginners compared to ComfyUI's visual interface
  • Requires more coding knowledge to implement custom workflows

Code Comparison

AIGODLIKE-ComfyUI-Translation (JSON configuration):

{
  "zh_CN": {
    "Load Image": "加载图像",
    "Image": "图像",
    "VAE Encode": "VAE 编码"
  }
}

diffusers (Python code):

from diffusers import StableDiffusionPipeline

pipeline = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
image = pipeline("A beautiful landscape").images[0]
image.save("landscape.png")

AIGODLIKE-ComfyUI-Translation focuses on providing multilingual support for ComfyUI, a visual interface for AI image generation. It's more accessible for non-programmers but limited in scope.

diffusers offers a powerful and flexible Python library for working with various diffusion models, including text-to-image generation, inpainting, and more. It provides greater control and customization options but requires programming skills to utilize effectively.

A latent text-to-image diffusion model

Pros of stable-diffusion

  • More established and widely adopted in the AI image generation community
  • Offers a complete text-to-image generation pipeline
  • Extensive documentation and community support

Cons of stable-diffusion

  • Larger codebase and potentially more complex to understand and modify
  • May require more computational resources to run

Code Comparison

AIGODLIKE-ComfyUI-Translation (translation-related code):

def translate_text(text, target_language):
    translator = Translator()
    translated = translator.translate(text, dest=target_language)
    return translated.text

stable-diffusion (image generation-related code):

@torch.no_grad()
def sample_from_v(v, model, steps):
    x = v
    for i in range(steps):
        x = model.p_sample(x, torch.full((x.shape[0],), i, device=x.device, dtype=torch.long))
    return x

AIGODLIKE-ComfyUI-Translation focuses on providing translations for ComfyUI, while stable-diffusion is a complete text-to-image generation model. The code snippets reflect their different purposes, with AIGODLIKE-ComfyUI-Translation handling text translation and stable-diffusion dealing with image generation processes.

Stable Diffusion web UI

Pros of stable-diffusion-webui

  • More mature and widely adopted project with a larger user base
  • Extensive features and options for image generation and manipulation
  • Well-documented with active community support

Cons of stable-diffusion-webui

  • Steeper learning curve for beginners due to numerous options
  • Can be resource-intensive, requiring more powerful hardware

Code Comparison

stable-diffusion-webui:

def create_infotext(p, all_prompts, all_seeds, all_subseeds, comments=None, iteration=0, position_in_batch=0):
    index = position_in_batch + iteration * p.batch_size

    clip_skip = getattr(p, 'clip_skip', opts.CLIP_stop_at_last_layers)
    token_merging_ratio = getattr(p, 'token_merging_ratio', 0)
    token_merging_ratio_hr = getattr(p, 'token_merging_ratio_hr', 0)

AIGODLIKE-ComfyUI-Translation:

def get_language_list():
    language_list = []
    for file in os.listdir(language_path):
        if file.endswith('.json'):
            language_list.append(file[:-5])
    return language_list

The code snippets show different functionalities: stable-diffusion-webui focuses on creating info text for generated images, while AIGODLIKE-ComfyUI-Translation deals with language file management for translations.

53,273

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

Pros of ComfyUI

  • More comprehensive and feature-rich UI for AI image generation
  • Larger community and more active development
  • Supports a wider range of models and workflows

Cons of ComfyUI

  • Steeper learning curve for beginners
  • Requires more system resources to run effectively
  • Less focus on multilingual support

Code Comparison

AIGODLIKE-ComfyUI-Translation:

def translate_text(text, target_language):
    translator = Translator()
    translated = translator.translate(text, dest=target_language)
    return translated.text

ComfyUI:

class ImageUploadNode:
    @classmethod
    def INPUT_TYPES(s):
        return {"required": {"image": ("IMAGE",)}}
    
    RETURN_TYPES = ("IMAGE",)
    FUNCTION = "upload_image"

    def upload_image(self, image):
        return (image,)

The AIGODLIKE-ComfyUI-Translation code focuses on language translation, while ComfyUI's code snippet demonstrates a node for image processing within the UI. This reflects the different primary purposes of each project: AIGODLIKE-ComfyUI-Translation aims to provide multilingual support, while ComfyUI offers a more comprehensive set of image generation and manipulation tools.

23,395

Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.

Pros of InvokeAI

  • More comprehensive AI image generation toolkit with a wider range of features
  • Actively maintained with frequent updates and improvements
  • Larger community and better documentation

Cons of InvokeAI

  • Steeper learning curve due to more complex functionality
  • Requires more computational resources to run effectively
  • Less focused on translation and localization aspects

Code Comparison

InvokeAI:

from invokeai.app.invocations.baseinvocation import BaseInvocation, InvocationContext
from invokeai.app.invocations.primitives import ImageField, ImageOutput

class ExampleInvocation(BaseInvocation):
    image: ImageField = ImageField()
    
    def invoke(self, context: InvocationContext) -> ImageOutput:
        # Image processing logic here

AIGODLIKE-ComfyUI-Translation:

import os
import json

def load_language(language):
    with open(f"language/{language}.json", "r", encoding="utf-8") as file:
        return json.load(file)

def translate(key, language_data):
    return language_data.get(key, key)

The code comparison shows that InvokeAI focuses on image processing and generation, while AIGODLIKE-ComfyUI-Translation is primarily concerned with language translation and localization for ComfyUI. InvokeAI's code demonstrates a more complex structure for handling image-related tasks, whereas AIGODLIKE-ComfyUI-Translation's code is simpler and directly related to language file handling and translation functions.

High-Resolution Image Synthesis with Latent Diffusion Models

Pros of stablediffusion

  • More comprehensive and feature-rich, offering a complete text-to-image generation pipeline
  • Larger community and wider adoption, leading to more resources and support
  • Includes pre-trained models and extensive documentation

Cons of stablediffusion

  • Steeper learning curve due to its complexity and broader scope
  • Requires more computational resources for training and inference
  • Less focused on specific UI translation tasks

Code Comparison

AIGODLIKE-ComfyUI-Translation:

import json

def load_language(language):
    with open(f"language/{language}.json", "r", encoding="utf-8") as file:
        return json.load(file)

stablediffusion:

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
image = pipe("a photo of an astronaut riding a horse on mars").images[0]

The code snippets highlight the different focus areas of the two projects. AIGODLIKE-ComfyUI-Translation deals with loading language files for UI translation, while stablediffusion demonstrates the ease of generating images using pre-trained models.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

告别,以及最后的工作

Hi,各位ComfyUI玩家,大家好,我是只剩一瓶辣椒酱,这是第一次,也是应该是最后一次和大家在这里交流。

从这个工具诞生一年多以来,为数十万AI使用者提供了多语言翻译,作为一个翻译者,我很欣慰能看到有人认可我们的开源工作。

但如大家所见,随着ComfyUI_frontend和客户端的推出,这一套缝缝补补的翻译系统,不再能适应新的框架,同时ComfyUI推出了更先进的内置翻译。

所以,在和ComfyUI作者和官方人员沟通之后,我们决定停止维护这个工具,并将之后的贡献核心转到ComfyUI本身。

接下来

  1. 我们将争取迁移现有词条到ComfyUI核心。(避免数以万计的中文区视频/文章,因语言发生歧义)。

  2. 仍旧维护一段时间,以确保使用翻译的老用户能够继续用一段时间。

  3. 引导对翻译感兴趣的翻译者,加入到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

  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简中繁中English日本語한국어Русский
3D-MeshTool√TODO√TODOTODOTODO
3D-Pack√TODO√TODOTODOTODO
Advanced Encode√√√TODOTODOTODO
Advanced ControlNet√√√TODOTODOTODO
AGL-ComfyUI-Translation√√√√TODOTODO
AlekPet Nodes√√√√TODOTODO
AnimateAnyone√TODO√TODOTODOTODO
AnimateDiff√√√√TODOTODO
AnimateDiff-Evolved√√√TODOTODOTODO
AnyLine√TODO√TODOTODOTODO
AnyText√TODO√TODOTODOTODO
Automatic CFG√TODO√TODOTODOTODO
BiRefNet√TODO√TODOTODOTODO
BiRefNet Hugo√TODO√TODOTODOTODO
BitsandBytes NF4√TODO√TODOTODOTODO
BrushNet (kijai)√TODO√TODOTODOTODO
BrushNet (nullquant)√TODO√TODOTODOTODO
Bxb√TODO√TODOTODOTODO
CCSR√TODO√TODOTODOTODO
Champ√TODO√TODOTODOTODO
CLIP Seg√√√√TODOTODO
CogVideo√TODO√TODOTODOTODO
ComfyRoll√√√TODOTODOTODO
ControlNet LLLite√√√TODOTODOTODO
ControlNet Preprocessors√√√√TODOTODO
ControlNet Preprocessors AUX√√√√TODOTODO
ControlNeXt SVD√TODO√TODOTODOTODO
Crystools√TODO√TODOTODO√
Cutoff√√√√TODOTODO
Custom-Scripts√√√TODOTODOTODO
cg-use-everywhere√TODO√TODOTODOTODO
cg-image-picker√TODO√TODOTODOTODO
Davemane42 Nodes√√√√TODOTODO
Dagthomas Nodes√√√√TODOTODO
Derfuu Nodes√TODO√TODOTODOTODO
DynamiCrafter (kijai)√TODO√TODOTODOTODO
DynamiCrafter (ExponentialML)√TODO√TODOTODOTODO
DynamicThresholding√√√TODOTODOTODO
EasyAnimate (chaojie)√TODO√TODOTODOTODO
EasyAnimate (kijai)√TODO√TODOTODOTODO
Easy Tools√TODO√TODOTODOTODO
Easy Use√TODO√TODOTODOTODO
Eesahes Nodes√TODO√TODOTODOTODO
Efficiency Nodes√√√√TODOTODO
ELLA (ExponentialML)√TODO√TODOTODOTODO
ELLA (Tencent)√TODO√TODOTODOTODO
EllangoK Postprocessing√√√TODOTODOTODO
Essentials√TODO√TODOTODOTODO
Execution-Inversion√TODO√TODOTODOTODO
ExLlama nodes√√√TODOTODOTODO
experiments√√√TODOTODOTODO
Face Analysis√TODO√TODOTODOTODO
Fast Decode√√√√TODOTODO
Florence2√TODO√TODOTODOTODO
Flowty CRM√TODO√TODOTODOTODO
Flowty TripoSR√TODO√TODOTODOTODO
Frame Interpolation√TODO√TODOTODOTODO
FreeU Advanced√TODO√TODOTODOTODO
IC-Light (kijai)√TODO√TODOTODOTODO
IC-Light-Wrapper (kijai)√TODO√TODOTODOTODO
IF AI tools√TODO√TODOTODOTODO
Image Resize√TODO√TODOTODOTODO
Instant Mesh√TODO√TODOTODOTODO
IPAdapter√√√TODOTODOTODO
IPAdapter_plus√√√TODOTODOTODO
Image Grid√√√TODOTODOTODO
Impact Pack√√√TODOTODOTODO
Impact Subpack√√√TODOTODOTODO
Inpaint CropAndStitch√TODO√TODOTODOTODO
Inpaint Nodes√TODO√TODOTODOTODO
Inspire Pack√√√TODOTODOTODO
InstantID (cubiq)√TODO√TODOTODOTODO
InstantID (ZHO)√TODO√TODOTODOTODO
Joy Caption√TODO√TODOTODOTODO
KJ Nodes√TODO√TODOTODOTODO
kkTranslator√TODO√TODOTODOTODO
Kolors (kijai)√TODO√TODOTODOTODO
Kolors (MinusZone)√TODO√TODOTODOTODO
LaMa Preprocessor√TODO√TODOTODOTODO
Latent2RGB√√√√TODOTODO
LayerDiffuse√TODO√TODOTODOTODO
LayerStyle√TODO√TODOTODOTODO
LCM√TODO√TODOTODOTODO
Literals√TODO√TODOTODOTODO
LivePortrait(KJ)√TODO√TODOTODOTODO
LivePortrait-Advanced√TODO√TODOTODOTODO
LoadLoraWithTags√TODO√TODOTODOTODO
Logic√TODO√TODOTODOTODO
LoraAutoTrigger√TODO√TODOTODOTODO
MagicClothing√TODO√TODOTODOTODO
Manager√√√TODOTODO√
Marigold√TODO√TODOTODOTODO
Masquerade Nodes√√√TODOTODOTODO
Math√TODO√TODOTODOTODO
Mixlab Nodes√TODO√TODOTODOTODO
MoonDream√TODO√TODOTODOTODO
MotionCtrl√TODO√TODOTODOTODO
MotionCtrl-SVD√TODO√TODOTODOTODO
MTB√TODO√TODOTODOTODO
N-Sidebar√TODO√TODOTODOTODO
Noise√√√TODOTODOTODO
NormalLighting√TODO√TODOTODOTODO
Paint By Example√TODO√TODOTODOTODO
Perturbed-Attention√TODO√TODOTODOTODO
Portrai Master√TODO√TODOTODOTODO
Power Noise Suite√TODO√TODOTODOTODO
Prompt Composer√TODO√TODOTODOTODO
Prompt MZ√TODO√TODOTODOTODO
Prompt Reader√TODO√TODOTODOTODO
PuLID (cubiq)√TODO√TODOTODOTODO
QR√√√TODOTODOTODO
Quick Connections√TODO√TODOTODOTODO
Omost√TODO√TODOTODOTODO
OneButtonPrompt√TODO√TODOTODOTODO
ReActor√TODO√TODOTODOTODO
ResAdapter√TODO√TODOTODOTODO
Restart-Sampling√√√TODOTODOTODO
Roop√TODO√TODOTODOTODO
rgthree√TODO√TODOTODOTODO
SD-Latent-Interposer√TODO√TODOTODOTODO
SDXL_prompt_styler√√√TODOTODOTODO
SeargeSDXL√√√TODOTODOTODO
Segment Anything√TODO√TODOTODOTODO
Segment Anything 2√TODO√TODOTODOTODO
StabilityNodes√√√TODOTODOTODO
SUPIR√TODO√TODOTODOTODO
TiledDiffusion√TODO√TODOTODOTODO
TiledKSampler√√√√TODOTODO
TinyTerra√TODO√TODOTODOTODO
ToonCrafter√TODO√TODOTODOTODO
TripoAPI√TODO√TODOTODOTODO
UltimateSDUpscale√√√TODOTODOTODO
Vextra Nodes√√√TODOTODOTODO
Video Matting√TODO√TODOTODOTODO
Visual Style Prompting√TODO√TODOTODOTODO
VLM Nodes√TODO√TODOTODOTODO
WAS Suite√√√TODOTODOTODO
WD14-Tagger√√√TODOTODOTODO
zfkun√TODO√TODOTODOTODO

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

For new UI: 1481d583968e3b626e366d2ad2faf62c

For legacy UI: 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