🐟Show Translate String
A translation display node that picks the target language
- translated_strings
If the pack's other translation node (StringTranslate) is the finicky one, 🐟Show Translate String is the well-behaved sibling. It translates strings with a free Bing translator and displays the results right on the node, in the target language of your choosing. It's an output node - a viewing node - so its job is "translate this and show me," not "translate this and hand it downstream," though it hands downstream too.
How it works
Two inputs: input_strings and target_language. The language picker is an enum with seven options - en, zh, es, fr, de, ja, ko - defaulting to zh. So the intended flow is obvious: you've got English captions, you flip the dropdown to zh, and you watch Chinese roll out onto the node.
The input is forceInput-style: it's meant to be wired, not typed. And unlike its sibling, this node handles both cases gracefully - a single string gets wrapped in a list, and a real list gets each item translated. Each translated string lands in its own read-only text widget on the node (translated_text_0, translated_text_1, …), which is the "Show" in the name. It's a nice touch for batch translation of prompts or captions where you want eyeballs on every line, not just the first.
The output is translated_strings (a list of STRINGs), and because this is an output node it also shoves the result into the UI. If you want, wire that list somewhere downstream - into a text display node or a prompt builder - and it's just data.
The translator caveat
This is where the pack's one real dependency shows up. Translation runs through the free Bing endpoint via the translators Python library. It needs internet, it's rate-limited, and occasionally it just fails - in which case you get a string like Translation error: ... in place of a translation. That's fine for eyeballing, annoying if you were hoping for reliable machine translation at scale. For serious volume you'd reach for a real translation API or an on-device model; for "checking my bilingual captions," it's more than enough.
Also worth knowing: this is the same translator the rest of the pack uses, so if you've seen flaky behavior in StringList's translate_output, it's the same underlying service.
Installing
ComfyUI Manager, search "ComfyUI-String-Helper", install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/liuqianhonga/ComfyUI-String-Helper.git
The pack pulls in translators and chardet - small pip packages, no models. If you're offline, this node has nothing to do; the rest of the pack still works.
Where it shines
Pair it with StringList or StringListFromCSV: pick a random prompt, run it through here with zh selected, and you've got a bilingual preview of exactly what's about to hit your sampler. That's the workflow this node was built for - quick, visible, zero-config translation for people who think in two languages at once.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input_strings | STRING | — | |
| target_language | COMBO | zh | 7 options: en, zh, es, fr, de, ja, +1 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| translated_strings | STRING | — |