用語集
用語集ファイルは翻訳全体で用語の一貫性を確保します。特定の用語をどう翻訳するか、または翻訳せずにそのまま保持するかを定義すると、yakuがLLMプロンプトにこれらのルールを注入します。
クイックスタート
Section titled “クイックスタート”作業ディレクトリに.yaku-glossary.yamlというファイルを作成します:
ja: deployment: デプロイ # 常にこの訳語を使用 container: コンテナ Kubernetes: ~ # そのまま保持 Docker: ~ # そのまま保持通常通り翻訳します。yakuが用語集を自動的に読み込みます:
yaku --to ja -f docs.en.mdLLMは以下のような指示を受け取ります:
- 「次の訳語を使用してください:deployment → デプロイ、container → コンテナ」
- 「次の用語は原語のまま保持してください(翻訳しないこと):Kubernetes、Docker」
ファイル形式
Section titled “ファイル形式”用語集ファイルはYAML形式です。用語はターゲット言語コードでグループ化されます:
<ターゲット言語>: <用語>: <訳語> # この訳語に翻訳 <用語>: ~ # 原語のまま保持(YAMLのnull)1つのファイルに複数の言語セクションを含めることができます:
ja: container: コンテナ Kubernetes: ~
zh-TW: container: 容器 Kubernetes: ~yakuは--toターゲット言語に一致するセクションのみを読み込みます(大文字小文字を区別しません)。例えば、--to jaはja:、JA:、Ja:に一致します。一致するセクションがない場合、yakuは空の用語集を使用します。
翻訳エントリ
Section titled “翻訳エントリ”文字列値を指定して、用語の翻訳方法を定義します:
ja: software: ソフトウェア database: データベース machine learning: 機械学習yakuがjaに翻訳する際、これらの用語を必須の翻訳としてLLMプロンプトに注入します。
原語保持エントリ
Section titled “原語保持エントリ”~(YAMLのnull)を使って、用語を原語のまま保持するようyakuに指示します:
ja: Kubernetes: ~ Docker: ~ API: ~ GitHub: ~翻訳中に変更すべきでないブランド名、固有名詞、技術用語に便利です。
ファイルの検索
Section titled “ファイルの検索”--glossary <パス>を使うと、yakuはそのファイルのみを読み込みます。指定しない場合、yakuは2つのデフォルトの場所をチェックし、マージします(後のファイルの用語が優先):
~/.config/yaku/glossary.yaml— すべてのプロジェクトで共有するグローバルな用語(最初に読み込み).yaku-glossary.yaml(カレントディレクトリ) — プロジェクト固有の用語(最後に読み込み、優先)
両方のファイルが存在する場合、両方が読み込まれます。同じ用語が両方にある場合、プロジェクト固有のファイルが優先されます。
用語集の読み込みを完全にスキップするには:
yaku --to ja --no-glossary -f docs.en.md例:プロジェクト用語集 + グローバル用語集
Section titled “例:プロジェクト用語集 + グローバル用語集”変更したくないブランド名のグローバル用語集を設定します:
ja: GitHub: ~ Docker: ~ Kubernetes: ~
zh-TW: GitHub: ~ Docker: ~ Kubernetes: ~各プロジェクトにプロジェクト固有の用語を追加します:
ja: container: コンテナ deployment: デプロイ service: サービス/path/to/my-project/からyaku --to jaを実行すると、両方のファイルが読み込まれます。グローバル用語集がブランド名を保持し、プロジェクト用語集がドメイン固有の用語を統一します。
明示的な用語集パス
Section titled “明示的な用語集パス”yaku --to ja --glossary ~/work/shared-terms.yaml -f docs.en.md--glossaryを使用すると、そのファイルのみが読み込まれます — デフォルトのパスはスキップされます。
- 読み込み — yakuは用語集ファイルを読み込み、
--to言語のセクションを検索します。 - 注入 — 翻訳エントリは
"次の訳語を使用してください:software → ソフトウェア"になります。原語保持エントリは"次の用語は原語のまま保持してください:Kubernetes、Docker"になります。 - 翻訳 — LLMはテキストと一緒に用語集の指示を受け取ります。
- 検証 — 翻訳後、yakuは
~でマークされた用語が出力に残っているか安全チェック(EnforceKeepOriginal)を実行します。これは安全策です — 主な強制はプロンプト経由で行われます。
プロンプト注入方式のため、用語集はすべてのバックエンド(Gemini、OpenAI、Anthropic、ホステッド)およびすべてのフォーマット(テキスト、Markdown、JSON、YAML)で動作します。
完全な例:料理ブログの翻訳
Section titled “完全な例:料理ブログの翻訳”ja: # 料理名は原語のまま保持 ratatouille: ~ croissant: ~ miso: ~ dashi: ~
# 調理用語を統一 sauté: ソテー julienne: 千切り mise en place: ミザンプラス
zh-TW: ratatouille: ~ croissant: ~ sauté: 煎炒 julienne: 切絲yaku --to ja -f recipe.en.md -o recipe.ja.md用語集を使うべきとき
Section titled “用語集を使うべきとき”- オープンソースプロジェクト — 翻訳全体でブランド名や技術用語の一貫性を保つ。
- ドキュメントサイト — 標準的な用語を統一(例: 常に「container」を「コンテナ」と翻訳)。
- 規制産業 — 法律用語や医療用語の翻訳を固定。
- 複数翻訳者のワークフロー — 全員が同じ語彙を使うことを保証。
- 少しずつ始める。 不整合に気づいたときだけ用語を追加してください。10〜20個の用語でほとんどのプロジェクトをカバーできます。
- ブランド名には
~を使う。 「GitHub」「Kubernetes」「Docker」などの用語はほぼ常にそのまま保持すべきです。 - 普遍的な用語にはグローバル用語集を使う。 ブランド名や一般的な技術用語は
~/.config/yaku/glossary.yamlに入れて、どこでも適用されるようにしましょう。 - プロジェクト用語集は作業ディレクトリに配置する。 yakuはコマンドを実行したディレクトリの
.yaku-glossary.yamlを探します。 --contextと組み合わせる。 用語集は特定の用語を管理し、--contextは全体的なトーンとドメインを設定します。