Update Add Simple Translate, add more language
This commit is contained in:
@@ -52,19 +52,38 @@ No third-party background applications are required — the backend relies only
|
||||
|
||||
# 🌐 Universal Prompt Translator
|
||||
|
||||
An integrated translation node that converts prompts from **16+ languages** into English and directly outputs CLIP conditioning.
|
||||
An integrated translation node that converts prompts from **100+ languages** into English and directly outputs CLIP conditioning.
|
||||
|
||||
| Code | Language | Code | Language |
|
||||
|------|----------|------|----------|
|
||||
| `auto` | Auto Detect | `en` | English |
|
||||
| `id` | Indonesian | `ja` | Japanese |
|
||||
| `ko` | Korean | `zh-CN` | Chinese (Simplified) |
|
||||
| `zh-TW` | Chinese (Traditional) | `fr` | French |
|
||||
| `de` | German | `es` | Spanish |
|
||||
| `pt` | Portuguese | `ru` | Russian |
|
||||
| `it` | Italian | `ar` | Arabic |
|
||||
| `tr` | Turkish | `hi` | Hindi |
|
||||
| `th` | Thai | `vi` | Vietnamese |
|
||||
| Code | Language | Code | Language | Code | Language | Code | Language |
|
||||
|------|----------|------|----------|------|----------|------|----------|
|
||||
| `auto` | Auto Detect | `en` | English | `id` | Indonesian | `ja` | Japanese |
|
||||
| `ko` | Korean | `zh-CN` | Chinese (Simplified) | `zh-TW` | Chinese (Traditional) | `fr` | French |
|
||||
| `de` | German | `es` | Spanish | `pt` | Portuguese | `ru` | Russian |
|
||||
| `it` | Italian | `ar` | Arabic | `tr` | Turkish | `hi` | Hindi |
|
||||
| `th` | Thai | `vi` | Vietnamese | `af` | Afrikaans | `sq` | Albanian |
|
||||
| `am` | Amharic | `hy` | Armenian | `az` | Azerbaijani | `eu` | Basque |
|
||||
| `be` | Belarusian | `bn` | Bengali | `bs` | Bosnian | `bg` | Bulgarian |
|
||||
| `ca` | Catalan | `ceb` | Cebuano | `ny` | Chichewa | `co` | Corsican |
|
||||
| `hr` | Croatian | `cs` | Czech | `da` | Danish | `nl` | Dutch |
|
||||
| `eo` | Esperanto | `et` | Estonian | `tl` | Filipino | `fi` | Finnish |
|
||||
| `fy` | Frisian | `gl` | Galician | `ka` | Georgian | `el` | Greek |
|
||||
| `gu` | Gujarati | `ht` | Haitian Creole | `ha` | Hausa | `haw` | Hawaiian |
|
||||
| `iw` | Hebrew | `hmn` | Hmong | `hu` | Hungarian | `is` | Icelandic |
|
||||
| `ig` | Igbo | `ga` | Irish | `jw` | Javanese | `kn` | Kannada |
|
||||
| `kk` | Kazakh | `km` | Khmer | `ku` | Kurdish | `ky` | Kyrgyz |
|
||||
| `lo` | Lao | `la` | Latin | `lv` | Latvian | `lt` | Lithuanian |
|
||||
| `lb` | Luxembourgish | `mk` | Macedonian | `mg` | Malagasy | `ms` | Malay |
|
||||
| `ml` | Malayalam | `mt` | Maltese | `mi` | Maori | `mr` | Marathi |
|
||||
| `mn` | Mongolian | `my` | Myanmar (Burmese) | `ne` | Nepali | `no` | Norwegian |
|
||||
| `ps` | Pashto | `fa` | Persian | `pl` | Polish | `pt` | Portuguese |
|
||||
| `pa` | Punjabi | `ro` | Romanian | `sm` | Samoan | `gd` | Scots Gaelic |
|
||||
| `sr` | Serbian | `st` | Sesotho | `sn` | Shona | `sd` | Sindhi |
|
||||
| `si` | Sinhala | `sk` | Slovak | `sl` | Slovenian | `so` | Somali |
|
||||
| `su` | Sundanese | `sw` | Swahili | `sv` | Swedish | `tg` | Tajik |
|
||||
| `ta` | Tamil | `te` | Telugu | `th` | Thai | `tr` | Turkish |
|
||||
| `uk` | Ukrainian | `ur` | Urdu | `uz` | Uzbek | `vi` | Vietnamese |
|
||||
| `cy` | Welsh | `xh` | Xhosa | `yi` | Yiddish | `yo` | Yoruba |
|
||||
| `zu` | Zulu | | | | | | |
|
||||
|
||||
<br>
|
||||
|
||||
@@ -88,8 +107,50 @@ An integrated translation node that converts prompts from **16+ languages** into
|
||||
|
||||
<br>
|
||||
|
||||
## 📸 Sample Workflow
|
||||
<br>
|
||||
|
||||
# 🌐 Bangtrix Simple Translate
|
||||
|
||||
A lightweight, standalone translation node that converts text from **100+ languages** using the Google Translate API — no CLIP encoding, no prompts. Perfect for simple text translation tasks.
|
||||
|
||||
| Code | Language | Code | Language | Code | Language | Code | Language |
|
||||
|------|----------|------|----------|------|----------|------|----------|
|
||||
| `auto` | Auto Detect | `en` | English | `id` | Indonesian | `ja` | Japanese |
|
||||
| `ko` | Korean | `zh-CN` | Chinese (Simplified) | `zh-TW` | Chinese (Traditional) | `fr` | French |
|
||||
| `de` | German | `es` | Spanish | `pt` | Portuguese | `ru` | Russian |
|
||||
| `it` | Italian | `ar` | Arabic | `tr` | Turkish | `hi` | Hindi |
|
||||
| `th` | Thai | `vi` | Vietnamese | `af` | Afrikaans | `sq` | Albanian |
|
||||
| `am` | Amharic | `hy` | Armenian | `az` | Azerbaijani | `eu` | Basque |
|
||||
| `be` | Belarusian | `bn` | Bengali | `bs` | Bosnian | `bg` | Bulgarian |
|
||||
| `ca` | Catalan | `ceb` | Cebuano | `ny` | Chichewa | `co` | Corsican |
|
||||
| `hr` | Croatian | `cs` | Czech | `da` | Danish | `nl` | Dutch |
|
||||
| `eo` | Esperanto | `et` | Estonian | `tl` | Filipino | `fi` | Finnish |
|
||||
| `fy` | Frisian | `gl` | Galician | `ka` | Georgian | `el` | Greek |
|
||||
| `gu` | Gujarati | `ht` | Haitian Creole | `ha` | Hausa | `haw` | Hawaiian |
|
||||
| `iw` | Hebrew | `hmn` | Hmong | `hu` | Hungarian | `is` | Icelandic |
|
||||
| `ig` | Igbo | `ga` | Irish | `it` | Italian | `jw` | Javanese |
|
||||
| `kn` | Kannada | `kk` | Kazakh | `km` | Khmer | `ku` | Kurdish |
|
||||
| `ky` | Kyrgyz | `lo` | Lao | `la` | Latin | `lv` | Latvian |
|
||||
| `lt` | Lithuanian | `lb` | Luxembourgish | `mk` | Macedonian | `mg` | Malagasy |
|
||||
| `ms` | Malay | `ml` | Malayalam | `mt` | Maltese | `mi` | Maori |
|
||||
| `mr` | Marathi | `mn` | Mongolian | `my` | Myanmar (Burmese) | `ne` | Nepali |
|
||||
| `no` | Norwegian | `ps` | Pashto | `fa` | Persian | `pl` | Polish |
|
||||
| `pa` | Punjabi | `ro` | Romanian | `sm` | Samoan | `gd` | Scots Gaelic |
|
||||
| `sr` | Serbian | `st` | Sesotho | `sn` | Shona | `sd` | Sindhi |
|
||||
| `si` | Sinhala | `sk` | Slovak | `sl` | Slovenian | `so` | Somali |
|
||||
| `su` | Sundanese | `sw` | Swahili | `sv` | Swedish | `tg` | Tajik |
|
||||
| `ta` | Tamil | `te` | Telugu | `th` | Thai | `tr` | Turkish |
|
||||
| `uk` | Ukrainian | `ur` | Urdu | `uz` | Uzbek | `vi` | Vietnamese |
|
||||
| `cy` | Welsh | `xh` | Xhosa | `yi` | Yiddish | `yo` | Yoruba |
|
||||
| `zu` | Zulu | | | | | | |
|
||||
|
||||
**Inputs:** Text (multiline), Source Language, Target Language
|
||||
**Output:** Translated text (STRING)
|
||||
**Category:** `BangtrixToolkit`
|
||||
|
||||
<br>
|
||||
|
||||
## 📸 Sample Workflow
|
||||
<div align="center">
|
||||
<img width="570" alt="Workflow" src="https://github.com/user-attachments/assets/44a6aeb5-1b15-4461-be2c-ec98291ac2e9" />
|
||||
<br><br>
|
||||
@@ -117,7 +178,7 @@ The HW Monitor integrates directly into the ComfyUI Settings panel. All changes
|
||||
| **🌗 Base Mode** | Combo | Dark · Light |
|
||||
| **🎨 Theme** | Combo | Default Green · Neon Blue · Crimson Red · Hacker (Black & Green) · Custom Colors|
|
||||
| **⏱️ Refresh Rate** | Combo | 500ms · 1s · 2s |
|
||||
| **👁️ Show on Startup** | Boolean | On / Off |
|
||||
| **�️ Show on Startup** | Boolean | On / Off |
|
||||
| **🔲 Background Opacity** | Slider | 0.1 – 1.0 (step 0.05) |
|
||||
| **📦 Compact Mode** | Boolean | Hides sparkline graph for minimal footprint |
|
||||
| **👻 Ghost Mode** | Boolean | Makes the background completely invisible/transparent |
|
||||
|
||||
@@ -36,6 +36,15 @@ try:
|
||||
except Exception as e:
|
||||
print(f"[BANGTRIX] Skipped translate_universal: {e}")
|
||||
|
||||
try:
|
||||
_mod = importlib.import_module(".btx_nodes.bangtrix_simple_translate", package=__package__)
|
||||
if hasattr(_mod, "NODE_CLASS_MAPPINGS"):
|
||||
NODE_CLASS_MAPPINGS.update(_mod.NODE_CLASS_MAPPINGS)
|
||||
if hasattr(_mod, "NODE_DISPLAY_NAME_MAPPINGS"):
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(_mod.NODE_DISPLAY_NAME_MAPPINGS)
|
||||
print("[BANGTRIX] Loaded bangtrix_simple_translate")
|
||||
except Exception as e:
|
||||
print(f"[BANGTRIX] Skipped bangtrix_simple_translate: {e}")
|
||||
WEB_DIRECTORY = "web"
|
||||
|
||||
__all__ = [
|
||||
|
||||
+16
-3
@@ -1,9 +1,22 @@
|
||||
from .translate_universal import (
|
||||
NODE_CLASS_MAPPINGS,
|
||||
NODE_DISPLAY_NAME_MAPPINGS
|
||||
NODE_CLASS_MAPPINGS as _TRANSLATE_UNIVERSAL_MAPPINGS,
|
||||
NODE_DISPLAY_NAME_MAPPINGS as _TRANSLATE_UNIVERSAL_DISPLAY
|
||||
)
|
||||
|
||||
from .bangtrix_simple_translate import (
|
||||
NODE_CLASS_MAPPINGS as _SIMPLE_TRANSLATE_MAPPINGS,
|
||||
NODE_DISPLAY_NAME_MAPPINGS as _SIMPLE_TRANSLATE_DISPLAY
|
||||
)
|
||||
|
||||
NODE_CLASS_MAPPINGS = {}
|
||||
NODE_CLASS_MAPPINGS.update(_TRANSLATE_UNIVERSAL_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(_SIMPLE_TRANSLATE_MAPPINGS)
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {}
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(_TRANSLATE_UNIVERSAL_DISPLAY)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(_SIMPLE_TRANSLATE_DISPLAY)
|
||||
|
||||
__all__ = [
|
||||
"NODE_CLASS_MAPPINGS",
|
||||
"NODE_DISPLAY_NAME_MAPPINGS"
|
||||
]
|
||||
]
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
import requests
|
||||
import urllib.parse
|
||||
|
||||
class BangtrixSimpleTranslate:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
# Daftar lengkap kode bahasa yang didukung oleh Google Translate
|
||||
languages = [
|
||||
"auto", "af", "sq", "am", "ar", "hy", "az", "eu", "be", "bn", "bs", "bg", "ca", "ceb", "ny", "zh-CN", "zh-TW", "co",
|
||||
"hr", "cs", "da", "nl", "en", "eo", "et", "tl", "fi", "fr", "fy", "gl", "ka", "de", "el", "gu", "ht", "ha", "haw",
|
||||
"iw", "hi", "hmn", "hu", "is", "ig", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "ko", "ku", "ky", "lo", "la",
|
||||
"lv", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "my", "ne", "no", "ps", "fa", "pl", "pt", "pa",
|
||||
"ro", "ru", "sm", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "te",
|
||||
"th", "tr", "uk", "ur", "uz", "vi", "cy", "xh", "yi", "yo", "zu"
|
||||
]
|
||||
|
||||
return {
|
||||
"required": {
|
||||
"text": ("STRING", {"multiline": True, "default": ""}),
|
||||
"source_language": (languages, {"default": "auto"}),
|
||||
"target_language": ([lang for lang in languages if lang != "auto"], {"default": "en"}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("STRING",)
|
||||
RETURN_NAMES = ("translated_text",)
|
||||
FUNCTION = "do_translation"
|
||||
CATEGORY = "BangtrixToolkit"
|
||||
|
||||
def do_translation(self, text, source_language, target_language):
|
||||
if not text.strip():
|
||||
return ("",)
|
||||
try:
|
||||
url = f"https://translate.googleapis.com/translate_a/single?client=gtx&sl={source_language}&tl={target_language}&dt=t&q={urllib.parse.quote(text)}"
|
||||
response = requests.get(url, timeout=10)
|
||||
if response.status_code == 200:
|
||||
result = response.json()
|
||||
translated_text = "".join([sentence[0] for sentence in result[0] if sentence[0]])
|
||||
return (translated_text,)
|
||||
else:
|
||||
print(f"[BangtrixToolkit] Warning: Translation API responded with status {response.status_code}")
|
||||
return (text,)
|
||||
except Exception as e:
|
||||
print(f"[BangtrixToolkit] Error during translation: {e}")
|
||||
return (text,)
|
||||
|
||||
# =========================================
|
||||
# NODE MAPPINGS
|
||||
# =========================================
|
||||
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"BangtrixSimpleTranslate": BangtrixSimpleTranslate
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"BangtrixSimpleTranslate": "Bangtrix Simple Translate 🌐"
|
||||
}
|
||||
@@ -15,24 +15,12 @@ _translate_cache = {}
|
||||
# =========================================
|
||||
|
||||
LANGUAGES = [
|
||||
"auto",
|
||||
"id",
|
||||
"en",
|
||||
"ja",
|
||||
"ko",
|
||||
"zh-CN",
|
||||
"zh-TW",
|
||||
"fr",
|
||||
"de",
|
||||
"es",
|
||||
"pt",
|
||||
"ru",
|
||||
"it",
|
||||
"ar",
|
||||
"tr",
|
||||
"hi",
|
||||
"th",
|
||||
"vi",
|
||||
"auto", "af", "sq", "am", "ar", "hy", "az", "eu", "be", "bn", "bs", "bg", "ca", "ceb", "ny", "zh-CN", "zh-TW", "co",
|
||||
"hr", "cs", "da", "nl", "en", "eo", "et", "tl", "fi", "fr", "fy", "gl", "ka", "de", "el", "gu", "ht", "ha", "haw",
|
||||
"iw", "hi", "hmn", "hu", "is", "ig", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "ko", "ku", "ky", "lo", "la",
|
||||
"lv", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "my", "ne", "no", "ps", "fa", "pl", "pt", "pa",
|
||||
"ro", "ru", "sm", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "te",
|
||||
"th", "tr", "uk", "ur", "uz", "vi", "cy", "xh", "yi", "yo", "zu"
|
||||
]
|
||||
|
||||
# =========================================
|
||||
|
||||
Reference in New Issue
Block a user