コンテンツにスキップ

言語

yakuはハードコードされた言語リストを持っていません。ターゲット言語コードをLLMバックエンドに渡し、実際の翻訳はバックエンドが行います。つまり、yakuは選択したバックエンドモデルが翻訳できるすべての言語に対応しています。

一般的な言語コード(BCP 47形式):

コード言語コード言語
en英語ko韓国語
zh-TW繁体中国語thタイ語
zh-CN簡体中国語viベトナム語
ja日本語frフランス語
deドイツ語esスペイン語
ptポルトガル語itイタリア語
ruロシア語arアラビア語

言語に地域バリアントがある場合は、完全なBCP 47コードを使用してください。例えば、zh-TW(台湾で使用される繁体中国語)とzh-CN(中国大陸で使用される簡体中国語)のように。

yakuは--to--fromの値をBCP 47規格に基づいて検証します。大文字小文字は自動的に正規化され(zh-twzh-TW)、無効なコードはヒント付きのエラーで拒否されます:

Terminal window
yaku --to japanese "Hello"
# Error: unknown language "japanese". Did you mean "ja"?
yaku --to zh-tw "Hello"
# 動作します — zh-TWに自動正規化

LLMプロンプトでは、yakuはコードと共に表示名を使用します(例: 「Translate to Japanese (ja)」)。

すべての翻訳にはターゲット言語が必要です。--toで指定します:

Terminal window
yaku --to ja "Hello, world"
yaku --to ja -f README.en.md

デフォルトを設定すると、毎回--toを入力する必要がなくなります:

Terminal window
yaku config set default-target ja

以下は同等です:

Terminal window
echo "Hello" | yaku --to ja
echo "Hello" | yaku # default-targetを使用

明示的な--toは常にデフォルトを上書きします:

Terminal window
echo "Hello" | yaku --to ko # 日本語ではなく韓国語

デフォルトでは、yakuはLLMにソース言語を自動検出させます。ほとんどのテキストでうまく動作します:

Terminal window
yaku --to ja "This is a test"
# これはテストです

明示的な制御が必要な場合は--fromを使います:

Terminal window
yaku --from en --to ja "This is a test"

--fromを使うべき場面:

  • テキストが複数の言語を混在させていて、自動検出が誤る場合。
  • スクリプトやCI/CDパイプラインで確実な動作が必要な場合。
  • テキストが非常に短く(数語程度)、LLMが言語を誤認する場合。

--from--toが同じ言語の場合、yakuは推敲モードの使用を提案します:

Terminal window
yaku --from ja --to ja "昨日のミーティングで話したことについてフォローアップしたいんだけど"
# ヒント: ソース言語とターゲット言語がどちらもjaです。言語の推敲には--mode polishの使用を検討してください。
  • ホステッドバックエンドを使う — デフォルトのバックエンドは言語ごとに調整されたプロンプトを使用し、より高品質な翻訳を提供します。詳しくはホステッドサービスとプランをご覧ください。
  • コンテキストを追加する--contextでドメインをヒントします。LLMが適切な用語を選択するのに役立ちます:
    Terminal window
    yaku --to ja --context "医療ドキュメント" -f report.en.md
  • 用語集を使う — プロジェクト全体で一貫した用語が必要なら、用語集ファイルを作成してください。
  • 推敲モードで編集 — ターゲット言語のドラフトがすでにある場合、--mode polishで再翻訳せずに改善できます:
    Terminal window
    yaku --mode polish --to ja -f draft.md