Skip to content
    ↑↓ select↵ openesc close
    English中文
    ysm-dev

    Translate

    v1.0.5Other
    opencode-translate

    OpenCode plugin that lets the user chat in a configured language while the main chat loop only sees English.

    GitHub stars

    5

    Monthly installs

    331

    56 in 7 days

    Composite scoreSCORE

    39.0

    Multi-signal model

    Last commit

    1 month ago

    2026-06-24

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-translate@1.0.5"]
    }

    opencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    Use opencode in your native language. LLM always hears English.

    banner

    Demo

    demo

    Why

    LLMs are worse in non-English. Benchmarks confirm it on every frontier model.

    • Claude Opus 4.7 / GPT-5.5 / Gemini 3.1 Pro: identical coding tasks scored 5/5 in English but dropped to 0–1/5 in Arabic and Korean (LILT, 2025).
    • Anthropic's own numbers: Japanese 96.9%, Korean 96.6%, Yoruba 80.3% — English is always the baseline (Anthropic docs).
    • Token tax: Korean ~1.25×, Japanese ~1.25×, Arabic ~3× more tokens per equivalent content. Higher cost, smaller effective context.

    This plugin lets you write in your language while the model works in English — best of both worlds.

    Full research write-up: docs/why.en.md

    Install

    bun add -g opencode-translate
    

    Setup

    Add to ~/.config/opencode/opencode.jsonc:

    {
      "plugin": [
        ["opencode-translate", {
          "model": "openai/gpt-5.4-mini", // model to use for translation
          "variant": "minimal",            // optional model variant / thinking effort
          "lang": "Korean"                // language you speak
        }]
      ]
    }
    

    Usage

    Prefix any message with $en to activate translation for that session.

    $en 프로젝트 루트의 package.json을 읽고 요약해줘
    

    All subsequent messages in the same session are translated automatically — no need to repeat $en.

    Options

    Option Type Default Description
    model string required Translator model in provider/model-id form
    variant string optional Translator model variant / thinking effort (for example, "minimal", "high", or "max")
    lang string required Language you speak (e.g. "Korean", "Japanese")
    trigger string[] ["$en"] Keywords that activate translation
    verbose boolean false Print translation logs