エンジンガイドFAQPatreonDiscordダウンロード
ログイン
RuneTranslate · 日本語ゲームをまるごと翻訳
エンジンガイド比較画像内テキストセーブエディターチートモードFAQダウンロードPatreonDiscordYouTubeプライバシー利用規約お問い合わせ
すべてのエンジン

対応エンジン · Artemis

完全対応 — 再構築してプレイ確認済み

Artemis エンジン翻訳ツール — Lua ベースの日本語ビジュアルノベルを最初から最後まで翻訳

Artemis(iMel Inc. / Mikage 製)は、現代日本語ビジュアルノベルの大きな一角 — VNDB でおよそ 730 リリース — の背後にある Lua スクリプトの Windows エンジンです。RuneTranslate はエンジンの .pfs リソースアーカイブを純粋 TypeScript で、外部ツールやサイドカーなしで読みます:PF8、PF6、PF2 のフォーマットを扱い、PF8 の SHA-1 キー付き XOR 暗号化(エントリごとのキーはアーカイブインデックスの SHA-1)を含むので、パックされたスクリプトが GARbro なしで開きます。アーカイブの中から、読める .ast(Lua テーブル)/ .txt(行指向)スクリプトと、多くのゲームが実際に出荷するコンパイル済みバイナリ ASB シナリオ — ASB マーカーで始まる形式で、しばしばカスタム拡張子にリネームされる(例えば Crystal Rain は .iet を使う)— の両方からセリフ、キャラクター名、選択肢を抽出します。RuneTranslate はコンパイル済みシナリオを拡張子ではなく署名で検出し、そのセリフをデコードし、すべての行を一覧します。インラインのエンジンコマンド — ルビ / 振り仮名、ネームプレート、色、クリック待ち — と改行を翻訳をまたいで保持するので、マークアップは無傷で生き延びます。エクスポートには、Artemis がマウントされた .pfs アーカイブからスクリプトを読むので、RuneTranslate はソースの .pfs ごとに小さなオーバーライドパッチアーカイブ — root.pfs.NNN — を、翻訳済みスクリプトだけを保持して構築します。Artemis は番号付き .pfs アーカイブを最後にマウントするので、パッチが元のものを覆い隠し、ゲームはベースアーカイブの完全な再パックなしにあなたの翻訳を読み込みます(スクリプトは無害な追加物としてルーズにも書き出されます)。これは Kirikiri の patch.xp3 フローと同じオーバーライドパッチの考え方です。このエンジンはまだ実在ゲームで検証中なので、再配布する前にエクスポートしたビルドをテストしてください。

このエンジンの用語集のヒント

ビジュアルノベルは何千もの行にわたって固定のキャストと繰り返し出る用語に頼り、機械翻訳はヒロインの名前を 3 つの章で 3 通りに綴ります。キャラクター、地名、繰り返し出る用語を事前に用語集化して、すべてのセリフの行とすべての選択肢がそれらを同一に表示するようにしましょう。 用語集の基本 →

RuneTranslate を Windows 版でダウンロード

Artemis を翻訳する方法

  1. ステップ 1

    Artemis のゲームフォルダを開く

    RuneTranslate をゲームディレクトリ — ゲームの .exe とその .pfs リソースアーカイブ(しばしば root.pfs / data.pfs など)があるフォルダ — に向けます。エンジン検出は Artemis のレイアウトを自動的に認識します。元のフォルダは決して変更されません。

  2. ステップ 2

    .pfs アーカイブを読み、スクリプトをデコード

    RuneTranslate は .pfs アーカイブを純粋 TypeScript で開き — PF8、PF6、PF2 — PF8 の SHA-1 キー付き XOR データを透過的に復号します。GARbro やサイドカーは不要です。それから中の .ast(Lua テーブル)と .txt(行指向)スクリプトをパースし、セリフ、キャラクター名、選択肢を取り出し、すべての翻訳可能な行をファイルごとにグループ化してエディターに一覧します。インラインのエンジンコマンドと改行は数字プレースホルダーの背後にマスクされるので、プロバイダーがそれらを壊すことはありません。

  3. ステップ 3

    好みのプロバイダーで翻訳

    これらのゲームはセリフが多くトーンに敏感なので、たいてい LLM(OpenAI GPT-4o / Anthropic Claude)または DeepL が最もよく読めます。無料の Google Translate やローカルモデル(Ollama / LM Studio)は短いメニュー文字列や選択肢をカバーし、OpenAI 互換プロバイダーを OpenRouter や NanoGPT に向けられます。任意の AI リファイナーの 2 回目のパスが直訳的な言い回しを引き締めます。

  4. ステップ 4

    インラインコマンドを無傷に保つ

    Artemis のスクリプトはルビ / 振り仮名、ネームプレート、色、クリック待ちのコマンドをセリフに通します。RuneTranslate はそれらすべて — 元の改行も含めて — を翻訳中プレースホルダーとして凍結し、出力時に復元するので、翻訳された行は元と同じ振り仮名、同じネームプレート、同じ間を保ちます。

  5. ステップ 5

    オーバーライドパッチアーカイブをエクスポート(完全再パックなし)

    エクスポート時に、RuneTranslate はゲームをコピーし、ソースの .pfs ごとに小さなオーバーライドパッチアーカイブ — root.pfs.NNN — を、翻訳済みの .ast / .txt スクリプトだけを保持して構築します(無害な追加物としてルーズにも書き出されます)。Artemis は番号付き .pfs アーカイブを最後にマウントするので、パッチが元のものを覆い隠し、ゲームはあなたの翻訳を読むだけです — 完全再パックなし、ベースアーカイブは手を加えられないままです。エクスポートしたコピーを実行すると、あなたの言語でプレイできます。

対応内容

  • 純粋 TS の .pfs アーカイブリーダー — PF8、PF6、PF2 — 外部ツールやサイドカーなし
  • PF8 SHA-1 キー付き XOR 暗号化をアプリ内で復号(エントリごとのキー = アーカイブインデックスの SHA-1)
  • 読める .ast(Lua テーブル)と .txt(行指向)スクリプト — セリフ、名前、選択肢
  • コンパイル済みバイナリ ASB シナリオ(署名で検出、拡張子をリネームするゲームを含む、例:.iet)
  • インラインのエンジンコマンド(ルビ / 振り仮名、ネームプレート、色、クリック待ち)と改行を保持
  • オーバーライドパッチのエクスポート — エンジンが最後にマウントするソース .pfs ごとの root.pfs.NNN アーカイブ(翻訳はルーズにも書き出し、完全再パックなし)
  • DeepL、Google、OpenAI、Anthropic、OpenAI 互換、またはローカルモデル経由で 30 以上の言語に翻訳

制限事項

  • 多くの実ゲームではまだ検証されていません — ゲーム内での検証は保留中なので、書き出したビルドをテストしてから使ってください
  • ゲームが話者名をグラフィックやコマンド名として(スクリプト内のテキストとしてではなく)持っている場合は、スクリプト抽出ではなく画像テキストのフローで扱います
  • 画像(タイトル画面、メニュー、ボタン)に焼き込まれたテキストは、スクリプト抽出器ではなく別個の画像テキスト OCR フローで処理されます
  • レガシー Shift-JIS の PF2 アーカイブでは、非ラテンのターゲット言語はゲームフォントがレンダリングできるものに制限されます

関連記事

Artemis 翻訳の完全ガイド
ガイドを読む →

その他の対応エンジン

GettextRPG MakerRen'PyKirikiriWolf RPGTyranoBuilderElectron VNUnityBakinSRPG StudioNScripterGodotYU-RISAliceSoftUnrealLiveMaker