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

対応エンジン · Ren'Py

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

Ren'Py 翻訳ツール — Ren'Py ビジュアルノベルを翻訳(ソース、コンパイル済み、アーカイブ)

Ren'Py は支配的な Python ベースのビジュアルノベルエンジンで、インディーのキネティックノベルから長寿の成人向け VN まで、あらゆるものに使われています。RuneTranslate は 3 つのモードで翻訳します:ソース駆動プロジェクト(game/**/*.rpy)、コンパイル済みのみのリリース(.rpyc、バンドルの unrpyc サイドカーでデコンパイル)、アーカイブのみのリリース(.rpa、自動難読化キー検出付きのバンドル rpatool サイドカーで展開)。say / ナレーション / メニューの行に加えて _() / __() / _p() の UI 文字列を抽出します。エクスポート時に、セリフとメニューは実行時に適用されます:生成された .rpy が各ソース行を内容照合(config.say_menu_text_filter)で game/rt_translations.json のマップと突き合わせ、ゲームの言語をあなたの翻訳に強制します — Ren'Py のネイティブな id ベースの tl/ ブロックは意図的に使いません。その id は常に再現できるとは限らないからです。_() の UI 文字列だけが本物の game/tl/translated/translation.rpy ブロックとして書かれます。非ラテンのターゲットには、RuneTranslate は CJK / タイ語 / アラビア語対応のフォントをバンドルし、ゲームのフォントを config.font_replacement_map を通してルーティングするので、翻訳されたテキストがボックスとしてレンダリングされることはありません。何も再パックされません — 追加の .rpy ファイルと JSON は元のものの隣の game/ に置かれます。Supporter ティアの用語集と組み合わせて、長い VN 全体でキャラクター名と特徴的な用語を固定しましょう。

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

Ren'Py の VN はキャラクターの声で生き死にします — そしてヒロインが 3 つのシーンで 'Alice' / 'Aris' / 'Arisu' と呼ばれると、読者の没入を素早く壊します。すべてのキャラクター名、主人公のニックネームのバリエーション、地名、造語の世界観用語を用語集で固定しましょう。マスクはプロバイダー非依存なので、予算重視の実行で DeepL を使っていても、セリフの多い本編章で Claude を使っていても、用語は同一のままです。 用語集の基本 →

RuneTranslate を Windows 版でダウンロード

Ren'Py を翻訳する方法

  1. ステップ 1

    Ren’Py のゲームフォルダを開く

    RuneTranslate をゲーム実行ファイルを含むフォルダに向けます。エンジン検出はプロジェクトをソース駆動(.rpy あり)、コンパイル済み(.rpyc のみ)、アーカイブ(.rpa のみ)に自動分類します。バンドルの unrpyc と rpatool サイドカーが自動的に実行されます — Python のインストール不要。

  2. ステップ 2

    ターゲット言語とプロバイダーを選ぶ

    ターゲット言語(30 以上のうち 1 つ)とプロバイダーを選びます。Anthropic Claude と OpenAI GPT-4o は、トーン、レジスター、オノマトペを統計的 MT よりよく保持するので、Ren'Py のセリフに最も強いです。DeepL は長い描写ナレーションに堅実な次点です。

  3. ステップ 3

    セリフの行と選択肢メニューを翻訳

    RuneTranslate はすべての翻訳可能な行(セリフ、選択肢テキスト、画面ラベル、UI 文字列)を抽出し、バッチ化します。Ren'Py 固有のタグ([[player_name]]、{color=#fff}…{/color}、{b}…{/b})は翻訳中マスクされるので、LLM はそれらを不透明なプレースホルダーとして扱い、その後そのまま復元されます。

  4. ステップ 4

    翻訳済みビルドをエクスポート

    RuneTranslate はいくつかの小さなファイルを game/ に置きます:rt_translations.json マップと、各ソース行を実行時に内容照合(config.say_menu_text_filter)してあなたの翻訳に言語を強制する生成された .rpy。これにより、.rpa を再パックせずにセリフとメニューが翻訳されて表示されます。_() の UI 文字列は game/tl/translated/translation.rpy に置かれ、ターゲットが必要とする場合は CJK / 非ラテンフォントがバンドルされます。翻訳器を再実行しても手編集した行は保持されます。

対応内容

  • ソース駆動ゲーム(game/**/*.rpy)
  • コンパイル済みのみのゲーム(.rpyc)、バンドルの unrpyc 経由
  • アーカイブされたゲーム(.rpa)— RPA-2 / 3 / 3.2 / 4.0 + ベンダー RPA-x.y(自動キー検出)、バンドルの rpatool 経由
  • say / ナレーション / メニューの行に加えて _() / __() / _p() の UI 文字列
  • Ren'Py の補間タグ([[var]]、{color}、{b}、{i}、{size})を保持
  • 実行時の内容照合適用 + 言語強制、加えてバンドルの CJK / 非ラテンフォント(config.font_replacement_map)— 再パックなし

制限事項

  • 本当に非標準のコンテナを使うアーカイブや、アーカイブ自体から導き出せないキーを使うアーカイブは非対応です
  • Renpy 6.x 以前(Python 3 より前)は未テストです

関連記事

Ren'Py 翻訳の完全ガイド
ガイドを読む →

その他の対応エンジン

GettextRPG MakerKirikiriWolf RPGTyranoBuilderElectron VNUnityBakinSRPG StudioNScripterGodotArtemisYU-RISAliceSoftUnrealLiveMaker