Translator はテキストファイルとターゲット言語を受け取り、最大4つの AI パスでコンテンツを処理する CLI ツールです。初回翻訳、専門的な編集、批評、改訂を経て、ネイティブに書かれたような出力を生成します。マークダウンのフロントマター(Hugo、Jekyll)を変換してもメタデータを損なうことなく処理します。
インストール
uv tool install git+https://github.com/2389-research/translator
その後:
translator input.txt Spanish
これで同じディレクトリに input.es.txt が作成されます。
機能
複数段階の翻訳パイプライン。 デフォルトのフローは4つのパスで構成されます。生の翻訳、自然な表現にする編集パス、問題を指摘する批評、そして批評に対応する改訂。--no-edit で編集パスを、--no-critique で批評パスをスキップできます。--critique-loops で批評ループを1〜5回に設定することもできます。
マークダウンのフロントマター保持。 YAML フロントマターを持つファイルは翻訳前にメタデータが抽出され、翻訳後に再付与されます。date、tags、slug などのフィールドはそのまま維持されます。
複数プロバイダー対応の AI。 OpenAI と Anthropic の両モデルに対応。モデル名にプレフィックスを付けてプロバイダーを明示的に指定できます(openai:gpt-4o、anthropic:claude-sonnet-4)。自動検出も可能です。デフォルトは claude-opus-4.1 です。
実行前のコスト見積もり。 --estimate-only で API クレジットを消費する前にトークン数と推定コストを確認できます。実行後にはリアルタイムのトークン追跡が実際の使用量をレポートします。
ストリーミングターミナル UI。 Rich を使って翻訳がリアルタイムでターミナルにストリーミングされます。長いドキュメントでもスピナーを眺めずに進捗を確認できます。
OpenAI または Anthropic がサポートする任意の言語。 言語名(「Japanese」「Portuguese」「Korean」)を渡すと、Translator が出力ファイル名に正しい ISO 639-1 コードを自動的にマッピングします。
仕組み
CLI はファイルを読み込み、フロントマターを抽出し、選択したモデルの制限に対してトークンを数え、コストを見積もります。そしてコンテンツを翻訳パイプラインに送ります。各段階は prompts.py に保存された専用プロンプトを使います。プロセス全体は構造化された JSON としてログに記録され、完了後にログから物語形式のサマリーが生成されます。
必要要件
- Python 3.13+
- 少なくとも1つのプロバイダーの API キー:
OPENAI_API_KEYまたはANTHROPIC_API_KEY - 対話形式のセットアップには
translator configを実行
