Skip to content

FAQ

yaku (訳, Japanese for “translation”) is a CLI tool that translates text, files, and developer artifacts from your terminal. It reads from stdin, files, or arguments and writes translated text to stdout — like jq or sed, but for natural language.

How is yaku different from other translation tools?

Section titled “How is yaku different from other translation tools?”

See Why yaku? for a detailed comparison with Google Translate, general-purpose AI CLIs (llm, sgpt, aichat), and Translate Shell.

The CLI is open source (BSD 3-Clause license) and free to use with your own API key. The hosted service at api.yakulang.com works with no setup and includes a free tier. See Hosted Service & Plans for tier details and quota limits.

Four backends:

BackendDefault modelHow to use
Hosted (api.yakulang.com)Server-sideDefault — works with no setup
Google Geminigemini-2.5-flashyaku config set backend gemini
OpenAIgpt-4o-miniyaku config set backend openai
Anthropicclaude-haiku-4-5-20251001yaku config set backend anthropic

The OpenAI backend also works with any OpenAI-compatible API (Groq, Together.ai, DeepSeek, Ollama). See Backends.

Any language your chosen LLM backend can translate. yaku does not maintain a hardcoded language list — it passes the language code directly to the model. See Languages.

Local backends (Gemini, OpenAI, Anthropic): yaku sends your text directly to the LLM API and returns the result. Nothing is stored by yaku. Review your LLM provider’s privacy policy for their data handling.

Hosted backend: your text is sent to api.yakulang.com for translation. The hosted service does not persist your text after the response is returned.

Yes, with a local model via the OpenAI-compatible backend. For example, with Ollama:

Terminal window
yaku --backend openai \
--api-base http://localhost:11434/v1 \
--model llama3 \
--to en "Bonjour"

See Backends — OpenAI-compatible providers.

Use a glossary file. Create .yaku-glossary.yaml in your project root:

zh-TW:
Kubernetes: ~ # keep in English
container: 容器 # always translate to this

yaku auto-loads it and injects the terms into every translation prompt.

Yes, with local backends. The --prompt flag replaces yaku’s built-in system prompt entirely:

Terminal window
yaku --to en --prompt my-prompt.txt -f docs.ja.md

Custom prompts only work with local backends (Gemini, OpenAI, Anthropic). The hosted backend uses server-side prompts and ignores --prompt. See Custom Prompts.

Open an issue with your yaku version (yaku version), the command you ran, and the error message.