対応エンジン · Artemis
Artemis(iMel Inc. / Mikage 作)は、現代の日本のビジュアルノベルの大きな一角を支える Lua スクリプトの Windows エンジンで — VNDB でおよそ 730 タイトルがこの上に出荷されており、RuneTranslate が対応する最も新しいエンジンの一つです。RuneTranslate はエンジンの .pfs リソースアーカイブを純粋な TypeScript で読み取り、外部ツールやサイドカーは不要です:PF8、PF6、PF2 の各形式に対応し、PF8 の SHA-1 キー付き XOR 暗号化(エントリーごとのキーはアーカイブインデックスの SHA-1)を含むので、パックされたスクリプトが GARbro や追加ダウンロードなしで開きます。アーカイブの内部から、読みやすい .ast(Lua テーブル)/ .txt(行指向)スクリプトと、多くのゲームが実際に出荷するコンパイル済みバイナリ ASB シナリオ — ASB マーカーで始まり、多くはカスタム拡張子にリネームされた形式(たとえば Crystal Rain は .iet を使用)— の両方から、セリフ、キャラクター名、選択肢を抽出します。RuneTranslate はコンパイル済みシナリオを拡張子ではなくシグネチャで検出し、そのセリフをデコードし、すべての行をエディターに一覧します。インラインのエンジンコマンド — ルビ / ふりがな、名前プレート、色、クリック待ち — と改行を翻訳を通して保持するので、マークアップはそのまま残ります。エクスポートはルーズファイルオーバーライドを使います:翻訳済みスクリプトがアーカイブの隣にルーズに書き出され、Artemis ランタイムは .pfs にパックされた同じパスよりディスク上のルーズスクリプトを優先するため、ゲームは単にあなたの翻訳を読みます — 再パックは一切ありません(Kirikiri のパッチフローと同じ手法)。このエンジンはまだ実ゲームでの検証を進めている段階なので、再配布の前にエクスポートしたビルドをテストしてください。
ビジュアルノベルは何千行にもわたる固定キャストと繰り返される用語に依存し、機械翻訳はヒロインの名前を3つの章で3通りに綴ります。キャラクター、地名、繰り返される用語を最初に用語集へ登録し、すべてのセリフと選択肢で同一に表示されるようにしましょう。 用語集の基本 →
ゲームディレクトリ — ゲームの .exe とその .pfs リソースアーカイブ(多くは root.pfs / data.pfs など)を含むフォルダー — を RuneTranslate に指定します。エンジン検出は Artemis レイアウトを自動認識します;元のフォルダーは決して変更されません。
RuneTranslate は .pfs アーカイブを純粋な TypeScript で開き — PF8、PF6、PF2 — PF8 の SHA-1 キー付き XOR データを透過的に復号します。GARbro もサイドカーも不要です。次に内部の .ast(Lua テーブル)と .txt(行指向)スクリプトを解析し、セリフ、キャラクター名、選択肢を取り出し、翻訳可能なすべての行をファイル別にグループ化してエディターに一覧します。インラインのエンジンコマンドと改行は数値プレースホルダーの背後にマスクされ、プロバイダーが壊すことはありません。
これらのゲームはセリフが多く口調に敏感なので、LLM(OpenAI GPT-4o / Anthropic Claude)や DeepL が最もよく読めます;無料の Google Translate やローカルモデル(Ollama / LM Studio)は短いメニュー文字列や選択肢をカバーし、OpenAI 互換プロバイダーを OpenRouter や NanoGPT に向けられます。オプションの AI リファイナーによる 2 回目のパスが逐語的な言い回しを引き締めます。
Artemis のスクリプトはルビ / ふりがな、名前プレート、色、クリック待ちのコマンドをセリフに織り込みます。RuneTranslate はそのすべて — 加えて元の改行 — を翻訳中はプレースホルダーとして凍結し、出力時に復元するので、翻訳された行は元と同じふりがな、同じ名前プレート、同じ間合いを保ちます。
エクスポート時、RuneTranslate はゲームをコピーし、翻訳済みの .ast / .txt スクリプトを元のアーカイブパスにルーズファイルとして書き戻します。Artemis ランタイムは .pfs にパックされた同じパスよりディスク上のルーズスクリプトを優先するため、ゲームは単にあなたの翻訳を読みます — 再パックはなく、アーカイブはそのまま残ります。エクスポートしたコピーを実行すると、あなたの言語でプレイできます。