hub-translation

star 7

Use for translation nodes in dora. Triggers on: dora-opus, dora-argotranslate, translation, translate, opus, argos, language translation, multilingual, 翻译, 多语言

ZhangHanDong By ZhangHanDong schedule Updated 1/21/2026

name: hub-translation description: "Use for translation nodes in dora. Triggers on: dora-opus, dora-argotranslate, translation, translate, opus, argos, language translation, multilingual, 翻译, 多语言" globs: ["/dataflow.yml", "/dataflow.yaml"] source: "https://github.com/dora-rs/dora-hub"

Translation Nodes

Translate text between languages using neural machine translation

Available Translation Methods

Note: Dedicated translation nodes are not yet in node-hub. Use LLM-based translation with dora-qwen or dora-qwen2-5-vl.

Method Install Description
dora-qwen pip install dora-qwen LLM-based translation
dora-transformers pip install dora-transformers Huggingface models

LLM-Based Translation with dora-qwen

Use Qwen LLM for translation tasks.

YAML Configuration

- id: translate
  build: pip install dora-qwen
  path: dora-qwen
  inputs:
    text: whisper/text
  outputs:
    - text
  env:
    SYSTEM_PROMPT: "You are a translator. Translate the following text from English to Chinese. Output only the translation."

Supported Languages

Qwen supports translation between most major language pairs including:

  • English, Chinese, Japanese, Korean
  • German, French, Spanish, Portuguese
  • And many more

dora-transformers (Custom Model)

Use Huggingface translation models via dora-transformers.

YAML Configuration

- id: translate
  build: pip install dora-transformers
  path: dora-transformers
  inputs:
    text: input/text
  outputs:
    - text
  env:
    MODEL: Helsinki-NLP/opus-mt-en-zh
    TASK: translation

Features

  • Use any Huggingface translation model
  • Support for Opus-MT, M2M100, NLLB models
  • Offline inference supported

Real-Time Translation Pipeline

nodes:
  # Microphone
  - id: microphone
    build: pip install dora-microphone
    path: dora-microphone
    inputs:
      tick: dora/timer/millis/100
    outputs:
      - audio

  # VAD
  - id: vad
    build: pip install dora-vad
    path: dora-vad
    inputs:
      audio: microphone/audio
    outputs:
      - audio

  # Speech to text
  - id: whisper
    build: pip install dora-distil-whisper
    path: dora-distil-whisper
    inputs:
      input: vad/audio
    outputs:
      - text
    env:
      TARGET_LANGUAGE: english

  # Translation (using LLM)
  - id: translate
    build: pip install dora-qwen
    path: dora-qwen
    inputs:
      text: whisper/text
    outputs:
      - text
    env:
      SYSTEM_PROMPT: "Translate to Chinese:"

  # TTS for translated text
  - id: tts
    build: pip install dora-kokoro-tts
    path: dora-kokoro-tts
    inputs:
      text: translate/text
    outputs:
      - audio

  # Speaker
  - id: speaker
    build: pip install dora-pyaudio
    path: dora-pyaudio
    inputs:
      audio: tts/audio

  # Visualization
  - id: rerun
    build: pip install dora-rerun
    path: dora-rerun
    inputs:
      original:
        source: whisper/text
        metadata:
          primitive: "text"
      translated:
        source: translate/text
        metadata:
          primitive: "text"

Multi-Language Translation

Use multiple dora-qwen instances with different translation prompts:

nodes:
  - id: input
    build: pip install terminal-input
    path: terminal-input
    outputs:
      - text

  # English to Chinese
  - id: en_to_zh
    build: pip install dora-qwen
    path: dora-qwen
    inputs:
      text: input/text
    outputs:
      - text
    env:
      SYSTEM_PROMPT: "Translate the following text to Chinese. Output only the translation."

  # English to Japanese
  - id: en_to_ja
    build: pip install dora-qwen
    path: dora-qwen
    inputs:
      text: input/text
    outputs:
      - text
    env:
      SYSTEM_PROMPT: "Translate the following text to Japanese. Output only the translation."

  # English to Spanish
  - id: en_to_es
    build: pip install dora-qwen
    path: dora-qwen
    inputs:
      text: input/text
    outputs:
      - text
    env:
      SYSTEM_PROMPT: "Translate the following text to Spanish. Output only the translation."

  - id: rerun
    build: pip install dora-rerun
    path: dora-rerun
    inputs:
      original: input/text
      chinese: en_to_zh/text
      japanese: en_to_ja/text
      spanish: en_to_es/text

Text Data Format

Input/Output

import pyarrow as pa

# Send text for translation
text = "Hello, how are you?"
node.send_output("text", pa.array([text]))

# Receive translated text
translated = event["value"][0].as_py()

Related Skills

  • hub-audio - Speech-to-text for voice translation
  • hub-llm - Language models
  • hub-visualization - Display original and translated text
Install via CLI
npx skills add https://github.com/ZhangHanDong/dora-skills --skill hub-translation
Repository Details
star Stars 7
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
ZhangHanDong
ZhangHanDong Explore all skills →