Kirikiri / KAG ビジュアルノベルを英語に翻訳する方法
RuneTranslate で Kirikiri / KAG ビジュアルノベルを英語に翻訳する手順ガイド — 暗号化された .xp3 アーカイブの読み込み、移植した GARbro スキームでの復号、KAG の .ks シナリオの翻訳、そしてゲームが自動で読み込む patch.xp3 の書き出し。
Kirikiri(吉里吉里)とその KAG シナリオ層は、商業美少女カタログの大半を含め、日本のビジュアルノベルの膨大な部分を動かしています。厄介なのは、Kirikiri がスクリプト・グラフィック・音声を暗号化された .xp3 アーカイブに詰め込み、多くのスタジオがその上にゲームごとの暗号化スキームを重ねている点です。だからこそ Kirikiri は翻訳が難しいという評判があります。本ガイドでは、RuneTranslate を使ってその作業を最初から最後まで進める方法を解説します。.xp3 の読み込み、暗号化への対処、KAG の .ks シナリオの翻訳、そしてゲームが自動で読み込むパッチの書き出しまでです。
必要なもの
- Windows 版 RuneTranslate — 無料で、すべてのエンジンとプロバイダーがアンロック済みです。
- Kirikiri のゲームフォルダー — ゲームの
.exeと 1 つ以上の.xp3アーカイブ(一般的にはdata.xp3、scenario.xp3など)が入ったディレクトリ。.exe.emb/.xp3.sigファイルを持つ署名済み KirikiriZ ビルドも認識されます。 - ターゲット言語 — 英語、スペイン語、フランス語、ドイツ語、ポルトガル語、ロシア語、中国語、イタリア語、トルコ語、ベトナム語、そのほか 20 以上。
- 翻訳プロバイダー 1 つ。ビジュアルノベルは台詞が多いので、通常は LLM(OpenAI / Anthropic)か DeepL が最も自然に読めます。無料の Google Translate はそのまま使えます。
ステップ 1: ゲームを開いて XP3 を展開する
RuneTranslate を起動し、New project をクリックして、Kirikiri のゲームディレクトリを指定します。エンジン検出は自動で実行されます。内蔵の XP3 リーダーがアーカイブのインデックスを開き — 大きなアーカイブが使う 17 バイトの圧縮インデックスヘッダーも含めて — シナリオファイルを取り出します。元のアーカイブが変更されることは一切ありません。
アーカイブが暗号化されている場合、RuneTranslate は移植済みの GARbro 暗号化スキーム約 24 種のライブラリと、より単純なファイルごとのスクランブル向けの汎用 1 バイト XOR 総当たりソルバーで復号を試みます。市販ゲームのほとんどはこのいずれかに該当します。アーカイブごとの実行時状態やスタジオ保有の鍵を必要とするスキームは引き続き非対応です — それらが本当にロックされた例外です。
ステップ 2: 文字列がどのように抽出されるか
Kirikiri は台詞を KAG の .ks シナリオスクリプトに保存します。RuneTranslate はそれらを解析し、翻訳可能なテキストをエディターに一覧表示します。
- 台詞と地の文 — 生のシナリオ行。
- スマート属性抽出 —
[ruby/]、[ch text="..."]、[name text="..."]、[button text="..."]などのタグ内にある読めるテキストが抽出されて翻訳され、タグ構造そのものは保持されます。
KAG のインライン制御タグは、何かがプロバイダーに届く前に数値の [[K#]] プレースホルダーの背後に隠されるため、機械がエンジンの書式を壊すことはできません。一部の KirikiriZ ゲームは、シナリオをコンパイル済みの PSB .scn バイナリ(PSB\0 形式)として出荷することもあります — RuneTranslate は暗号化されていない PSB v1/v2 シナリオも解析して再パックするので、それらのゲームもテキストスクリプトとまったく同じように翻訳できます。
ステップ 3: 翻訳してレビューする
プロバイダーを選んで実行します。キャラクターの声や個性的な台詞回しには OpenAI GPT-4o や Anthropic Claude が最も自然に読め、DeepL は地の文に速く整っており、無料の Google Translate はメニューをカバーします。すべてのルートで名前が同一に表示されるよう、まず登場人物と頻出用語を用語集に登録してください — Glossary 101 を参照。RuneTranslate の無料版は有料版より約 3–4 倍遅く制限されますが、出力品質は同じです。
各行は原文の隣のエディターに表示されます。インラインで編集し(フォーカスを外すか Ctrl+Enter で保存)、検索と置換を使い、あるいは任意の AI リファイナー を実行して文脈を踏まえた 2 回目の校正を行えます — 長い VN ルートで役立ちます。
ステップ 4: パッチを書き出す
Export をクリックします。RuneTranslate は翻訳済みシナリオを バラのファイル に加えて AfterInit2.tjs フックとさらにフラットな patch.xp3 として書き出します。どれか 1 つでは万能でないため、2 つの上書き経路を用意しています。
- バラのファイル + AfterInit2.tjs — フックの
addAutoPath呼び出しが、バラのファイルをゲームのアーカイブより優先させます。ゲームのInitialize.tjsが実際にそのフックを実行する場合に機能します。 - patch.xp3 — Kirikiri は
patch.xp3/patch2.xp3をゲーム自身のアーカイブより高い優先度で自動マウントするため(「後の経路が勝つ」)、ゲームが AfterInit2 フックを無効にしていても上書きします。この二重の安全策の組み合わせがあるからこそ、単一の方法では静かに失敗するゲームでも翻訳テキストが読み込まれます。
出力は、元のゲームの隣に置かれたあなたの翻訳です。.exe を起動すれば、ターゲット言語でプレイできます。
既知の制限
- 実行時状態、ルックアップテーブル、またはスタジオ保有の鍵を必要とするゲームごとのスキームで暗号化された XP3 は非対応です — GARbro スキーム約 24 種と XOR 総当たりソルバーが内蔵されており、市販ゲームのほとんどをカバーしますが、すべての例外に対応するわけではありません。
- 暗号化 / MDF 圧縮された PSB
.scnシナリオはスキップされます。暗号化されていない PSB v1/v2 のみ対応です。 - 画像内のテキスト(ロゴ、手描き UI、CG のキャプション)は翻訳されません — 機械翻訳の範囲外です。
従来のやり方より簡単な理由
手動のやり方では、暗号化スキームを特定し、GARbro で XP3 を展開し、KAG タグ内の読めるテキストを手作業で探し出し、マークアップを壊さずに翻訳し、それから再パックするか上書き経路を正しく配線する必要がありました。RuneTranslate はこの一連の流れ — 復号、抽出、タグのマスキング、翻訳、バラのフックと patch.xp3 の両方の構築 — を数クリックにまとめ、エディターを開いたままにして、あなたが言い回しを制御できるようにします。
全機能一覧は Kirikiri エンジンページを見る、別のビジュアルノベルエンジンについては Ren'Py ガイド、あるいは RuneTranslate をダウンロードして実際のゲームで試してみてください。
RuneTranslate を試してみませんか?
無料プランですべてのエンジンとすべての翻訳プロバイダーが使えます。Supporter(月額 $3)ならフルスピードで翻訳できます。
Windows 版をダウンロード