TyranoBuilder / TyranoScript ゲームを英語に翻訳する方法
RuneTranslate で TyranoBuilder / TyranoScript のビジュアルノベルを翻訳します — data/scenario/*.ks スクリプトを抽出し、KAG タグをマスクし、キャラクターの表示名を翻訳し、プレイ可能な HTML5 または Electron ビルドをエクスポートします。
TyranoBuilder と、その基盤となる TyranoScript エンジンは、大量のインディー日本語ビジュアルノベルを動かしています — Kirikiri や Ren’Py に代わる Web テクノロジー(HTML5 / JavaScript)版で、スタンドアロンの HTML5 フォルダか Electron でラップされた実行ファイルとして出荷されます。そのシナリオは Kirikiri と同じ KAG スタイルの .ks 構文を使うので、どこにあるか分かればテキストには簡単に届きます。このガイドは、TyranoBuilder のゲームを最初から最後まで RuneTranslate で翻訳する手順を、ほとんどのツールが見落とす部分 — キャラクターの表示名 — を含めて説明します。
必要なもの
- Windows 版 RuneTranslate — 無料。すべてのエンジンとプロバイダーが解放されています。
- TyranoBuilder のゲーム:スタンドアロンの HTML5 フォルダ(ルーズな
data/とtyrano/ディレクトリ)、または Electron ビルド(tyrano/tyrano.jsとdata/scenario/*.ksを保持するresources/app.asar)。RuneTranslate は両方を検出します。 - ターゲット言語 — 英語、スペイン語、フランス語、ドイツ語、中国語、その他 30 以上。
- 1 つのプロバイダー。ビジュアルノベルはセリフが多いので、LLM(OpenAI / Anthropic)または DeepL が最もよく読めます。無料の Google Translate はそのまま使えます。
ステップ 1: ゲームフォルダを開く
RuneTranslate を起動し、新規プロジェクト をクリックして、ゲームディレクトリ(Electron ビルドの場合は .exe を含むフォルダ)に向けます。検出は、tyrano/ ランタイムと data/scenario/ スクリプトから TyranoBuilder を認識します。Electron ビルドでは app.asar を直接読むので、何も展開しません。元のゲームは決して変更されません。
ステップ 2: 文字列がどう抽出されるか
RuneTranslate は、TyranoBuilder がテキストを格納するあらゆる場所から翻訳可能なテキストを取り出します:
- シナリオスクリプト — すべての
data/scenario/**/*.ksファイル。暗号化ビルドが頼る_preview.ksやsystem/_*.ksミラーを含みます。 - UI と設定 —
tyrano/lang.jsとdata/system/Config.tjs。 - キャラクターの表示名 — セリフの上に表示される話者ラベル(次のセクション)。
KAG のインラインタグ — [r] 改行、[p] クリック待ち、[改ページ] ページ区切り、[font color=...]、そして JP 名のタグ — は、プロバイダーに届く前に数字の [[U#]] プレースホルダーの背後にマスクされ、エクスポート時に復元されるので、整形は無傷で残ります。バイナリまたは暗号化された .ks ファイルは UTF-8 スニフで検出され、決して上書きされません。
ステップ 3: キャラクター名 — Tyrano 固有の部分
シナリオはしばしば [yuki] のようなインラインの略記で話者を指します — 表示テキストではなくキャラクター ID です。RuneTranslate はそれらの参照を決して書き換えません(それはエンジンのキャラクター検索を壊し、シーンをクラッシュさせます)。代わりに、表示名を翻訳し、エクスポート時に適切な [chara_new name=... jname=...] エントリを data/system/chara_define.ks に注入します。画面に 表示される 名前は翻訳され、スクリプトが使う ID は手を加えられないままです。
ステップ 4: 翻訳とレビュー
プロバイダーを選んで実行します。LLM(OpenAI / Anthropic) はキャラクターの声に最もよく読め、DeepL はナレーションを高速かつクリーンに、無料の Google Translate はメニューをカバーします。すべてのルートで名前が同一に表示されるよう、キャストと繰り返し出る用語を先に用語集化しましょう — 用語集 101 を参照。すべての行がソースの隣のエディターに入ります。インラインで編集し(ブラーまたは Ctrl+Enter で保存)、検索と置換を使い、任意の AI リファイナーで文脈を踏まえた 2 回目のパスを実行します。無料ティアは速度が控えめにスロットルされます — AI プロバイダーでおおよそ有料の半分のスループット — 出力品質は同一です。
ステップ 5: プレイ可能なビルドをエクスポート
エクスポート をクリックします。スタンドアロンの HTML5 ゲームでは、RuneTranslate は翻訳済みの .ks スクリプト、lang.js、設定、注入された chara_define.ks をゲームのコピーに書き込みます。Electron ビルドでは、修正した app.asar を再パックします。いずれにせよ、選んだ場所に完全な実行可能コピーが手に入ります — 起動すると、ターゲット言語でプレイできます。
既知の制限
- 暗号化された
.ksファイル(非 UTF-8 として検出)は手を加えられないままなので、暗号化ビルドのシナリオは翻訳されません。 - 画像テキスト(ロゴ、手描き UI、CG のキャプション)は機械翻訳の範囲外です。
- 実行時にセリフを組み立てるカスタムプラグインは、エディターで素早い手直しが必要かもしれません。
なぜこれが従来より簡単なのか
手動のルートは、app.asar を展開し、すべての .ks ファイル(見落としやすいシステムミラーを含む)を見つけ、KAG タグを避けて手作業で翻訳し、キャラクター名の注入を割り出し、それから asar を壊さずに再パックする、というものでした。RuneTranslate はチェーン全体を数クリックに畳み込み、言い回しを管理できるようエディターを開いたままにします。
TyranoBuilder エンジンページで全機能リストを見るか、関連する KAG エンジンについて Kirikiri ガイドを読むか、RuneTranslate をダウンロードして実在のゲームで試してみてください。
RuneTranslate を試してみませんか?
無料プランですべてのエンジンとすべての翻訳プロバイダーが使えます。Supporter(月額 $3)ならフルスピードで翻訳できます。
Windows 版をダウンロード
