なぜyaku?
yakuは、ターミナルからテキスト、ファイル、構造化ドキュメントを翻訳するCLIツールです。インストールしてyaku --to ja "Hello"を実行すれば翻訳が得られます — APIキー、アカウント、設定は不要です。
内部的には、yakuは実際のファイルを扱えるように設計されています。Markdownのフォーマットを崩さずに翻訳し、JSONやYAMLのキーはそのままで値だけを翻訳し、用語集ファイルで用語を統一できます。stdinやファイルから読み込み、stdoutに出力するので、スクリプトやパイプラインに自然に組み込めます。
このページでは、yakuがあなたのニーズに合うかどうかを判断するための情報を提供します。
yakuができること
Section titled “yakuができること”- 言語間のテキスト翻訳 — LLMバックエンドが対応するすべての言語ペア。
- 文章の推敲 — 非母語で書いた文章の文法や流暢さを、翻訳せずに改善。
- 構造の保持 — Markdown、JSON、YAMLのフォーマットを崩さず翻訳。キー、コードブロック、URL、フロントマターはそのまま。
- 用語の管理 — 用語集ファイルで特定の用語の訳語を固定、または未翻訳のまま保持。
- パイプラインへの組み込み — デフォルトでstdin/stdout。
curl、gh、git、jqなど他のCLIツールと組み合わせ可能。
yakuができないこと
Section titled “yakuができないこと”yakuのスコープは言語の壁を越える手助けです。スコープ外の機能は意図的に除外されています:
| スコープ外 | 代わりに使うツール |
|---|---|
| コード生成や説明 | 汎用AI CLI(llm、aichat、sgpt) |
| テキスト要約 | 汎用AI CLI |
| 質問応答やチャット | ChatGPT、Claude、または汎用AI CLI |
| フォーマット変換(例: Markdown → HTML) | pandoc |
| 翻訳コンテキストなしのスペルチェック | aspell、languagetool |
| GUI翻訳 | Google翻訳、DeepL |
判断基準: 言語の壁を越えることに関係しないタスクなら、yakuは適切なツールではありません。
他ツールとの比較
Section titled “他ツールとの比較”vs. Google翻訳 / DeepL / ChatGPT
Section titled “vs. Google翻訳 / DeepL / ChatGPT”これらはブラウザベースのツールです。ターミナルを離れ、テキストをコピーし、貼り付け、結果を得て、また貼り付ける。yakuはこのコンテキストスイッチを解消します:
# ブラウザにコピペする代わりに:echo "Hello, how are you?" | yaku --to jacat error.log | yaku --to ja --context "nginxエラーログ"yaku --to ja -f README.en.md -o README.mdyakuはファイル構造(JSONキー、Markdownフォーマット)も保持し、用語集による用語管理にも対応しています — ブラウザツールにはない機能です。
vs. 汎用AI CLI(llm、sgpt、aichat)
Section titled “vs. 汎用AI CLI(llm、sgpt、aichat)”これらのツールはLLMに任意のプロンプトを送信します。翻訳はできますが、毎回自分でプロンプトを書く必要があります:
# 汎用AI CLIの場合:echo "Hello" | llm "これを日本語に翻訳して"
# yakuの場合:echo "Hello" | yaku --to ja違い:
| yaku | 汎用AI CLI | |
|---|---|---|
| プロンプトエンジニアリング | 翻訳品質に最適化された組み込みプロンプト | 自分でプロンプトを作成 |
| フォーマット保持 | Markdown、JSON、YAMLを自動保持 | 手動(LLMが指示に従うことを期待) |
| 用語集 | 組み込み(.yaku-glossary.yaml) | なし |
| 出力のクリーンさ | サニタイズ済み — 「以下が翻訳です:」のような前置きなし | LLMの生出力 |
| スコープ | 翻訳と推敲のみ | プロンプト次第で何でも |
あらゆるAIタスクに対応する万能ツールが必要なら、llmやaichatを使ってください。信頼性の高い構造化翻訳と一貫した用語管理が必要なら、yakuを使ってください。
vs. Translate Shell(trans)
Section titled “vs. Translate Shell(trans)”Translate Shellは従来の翻訳エンジン(Google、Bing)を使用し、LLMは使いません。高速かつ無料ですが:
- フォーマット対応なし — JSON/YAMLのキーを保持しながら翻訳できない
- 用語集や用語管理なし
- 翻訳品質は基盤エンジンに制限される(直訳的で不自然になりがち)
- 推敲モードなし
Translate Shellは簡単な検索に適しています。yakuは開発出力、構造化ファイル、品質重視の翻訳に向いています。
yakuを使うべきとき
Section titled “yakuを使うべきとき”- 開発出力(ドキュメント、i18nファイル、README、エラーメッセージ)を定期的に翻訳する。
- プロジェクト全体で一貫した用語が必要(用語集)。
- 構造化ファイル(Markdown、JSON、YAML)の構造を保持して翻訳したい。
- 非母語で書いた文章を推敲したい。
- スクリプトやCI/CDパイプラインで翻訳を組み込みたい。
yakuを使うべきでないとき
Section titled “yakuを使うべきでないとき”- 汎用AIアシスタントが必要 — yakuは翻訳と推敲のみ。コード生成、要約、Q&Aには
llm、aichat、sgptを使ってください。 - リアルタイムの対話が必要 — yakuはステートレス(入力1つに対して出力1つ)。双方向の対話にはChatGPTやClaudeを使ってください。
- セットアップなしの完全オフライン翻訳が必要 — yakuはインターネット接続(ホステッドバックエンド)またはローカルLLM(例: Ollama)が必要です。モデルは同梱されていません。
- GUI翻訳が必要 — yakuはターミナル専用。ブラウザベースのワークフローにはGoogle翻訳やDeepLを使ってください。