diff --git a/README.md b/README.md
index 1f8b264..7ba69f5 100644
--- a/README.md
+++ b/README.md
@@ -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 | | | | | | |
@@ -88,8 +107,50 @@ An integrated translation node that converts prompts from **16+ languages** into
-## ๐ธ Sample Workflow
+
+# ๐ 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`
+
+
+
+## ๐ธ Sample Workflow
@@ -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 |
diff --git a/__init__.py b/__init__.py
index 7458410..1d3acf1 100644
--- a/__init__.py
+++ b/__init__.py
@@ -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__ = [
diff --git a/btx_nodes/__init__.py b/btx_nodes/__init__.py
index dc8c771..c49075f 100644
--- a/btx_nodes/__init__.py
+++ b/btx_nodes/__init__.py
@@ -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"
-]
\ No newline at end of file
+]
diff --git a/btx_nodes/bangtrix_simple_translate.py b/btx_nodes/bangtrix_simple_translate.py
new file mode 100644
index 0000000..e57f5bc
--- /dev/null
+++ b/btx_nodes/bangtrix_simple_translate.py
@@ -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 ๐"
+}
\ No newline at end of file
diff --git a/btx_nodes/translate_universal.py b/btx_nodes/translate_universal.py
index 304273f..1755adc 100644
--- a/btx_nodes/translate_universal.py
+++ b/btx_nodes/translate_universal.py
@@ -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"
]
# =========================================