commit 845086e00e0f847e7be2d13260f8db8e457928d7 Author: ǝunboɯiɔs Date: Sat Nov 29 22:12:00 2025 +0900 First Upload diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..53ca7d7 --- /dev/null +++ b/__init__.py @@ -0,0 +1,5 @@ +from .simple_google_translate import ( + SimpleGoogleTranslateTextNode, + NODE_CLASS_MAPPINGS, + NODE_DISPLAY_NAME_MAPPINGS +) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..63f5286 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +googletrans==4.0.0-rc1 \ No newline at end of file diff --git a/simple_google_translate.py b/simple_google_translate.py new file mode 100644 index 0000000..672e0c7 --- /dev/null +++ b/simple_google_translate.py @@ -0,0 +1,48 @@ +from googletrans import Translator, LANGUAGES + +translator = Translator() + +class SimpleGoogleTranslateTextNode: + """ + A minimal Google Translate text node for ComfyUI. + """ + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "source_lang": ( + ["auto"] + list(LANGUAGES.keys()), + {"default": "auto"}, + ), + "target_lang": ( + list(LANGUAGES.keys()), + {"default": "en"}, + ), + "text": ("STRING", {"multiline": True, "placeholder": "Input text"}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("translated",) + FUNCTION = "translate_text" + CATEGORY = "utils/Text" + + def translate_text(self, source_lang, target_lang, text): + if not text.strip(): + return ("",) + + try: + result = translator.translate(text, src=source_lang, dest=target_lang) + return (result.text,) + except Exception as e: + return (f"[Translation error] {e}",) + + +NODE_CLASS_MAPPINGS = { + "SimpleGoogleTranslateTextNode": SimpleGoogleTranslateTextNode +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "SimpleGoogleTranslateTextNode": "Simple Google Translate Text" +}