JSPM

  • Created
  • Published
  • Downloads 295
  • Score
    100M100P100Q95626F
  • License MIT

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

Package Exports

  • opencode-translate
  • opencode-translate/src/index.ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (opencode-translate) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

opencode-translate

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