RPG Maker MV と MZ の翻訳:翻訳者にとって何が変わるか
両エンジンは翻訳の対象面のほとんどを共有しますが、プラグインパラメータ、制御コード、データフォルダのレイアウトが MZ では変わります。RPG Maker MV と MZ のプロジェクトを行き来する翻訳者への実践的な注記。
RPG Maker MV と MZ の翻訳では、2 つのエンジンは 90% 同じです。両方ともセリフ、選択肢、アイテム、スキル、用語を JSON として格納し、同じイベントコマンドコードを使い、同じ制御コード(\C[1]、\N[2]、\V[3] など)を尊重します。残りの 10% — フォルダレイアウトとプラグインパラメータのフォーマット — が、両者を行き来する翻訳者をつまずかせるものです。この記事は手早い参照です。
フォルダレイアウト:最も目立つ違い
- MV はデータを
www/data/*.jsonに格納し、アセット、プラグイン、バンドルされたランタイムを並べて置きます。 - MZ は
www/ラッパーを外し、データをdata/*.jsonに直接格納します。
RuneTranslate にとってこれは不可視です — 検出は両方のパスをチェックし、存在する方を選びます。ファイルを手作業で調べるときにだけ重要です:プレフィックスを覚えておいてください。
セリフ、選択肢、イベントコード
イベントコマンド構造は両エンジンで同じなので、翻訳の対象面は同一です。RuneTranslate は次を読みます:
401— 文章の表示の行。表示される各行が独自の401です。405— スクロール 文章の表示の行(クレジット、長い独白のクロール)。102— 選択肢のテキスト(および402、各選択肢の分岐ラベル)。320、324、325— アクターの 名前、二つ名、プロフィール の変更(改名やキャラクターの経歴に使用)。108/408— 注釈。これらはプレイヤーが目にするものではないので、デフォルトで除外され、決して自動翻訳されません(必要なら行をオプトインできます)。
RuneTranslate はこれらすべてを MV と MZ で同一にパースします。MZ では、101 がメッセージボックスの上に表示される話者名も運び、それも拾われます。
メッセージボックスのワードラップ
MV も MZ も、メッセージウィンドウの端でセリフを折り返します — デフォルトのボックスは 1 行あたりおおよそ 46 個のシングルバイト文字が収まります。RuneTranslate はエクスポート時にセリフを自動折り返し します(401 / 405 の行に適用)ので、翻訳されたテキストが会話ボックスからあふれません。
折り返し幅は プロジェクトごとに設定可能 です — 広いウィンドウには上げ、独自に改行を扱うゲームには折り返しを完全に無効にできます。RuneTranslate はまた、エクスポート時に(MV と MZ で)自動フィットのフォント縮小 オプションを注入し、大きすぎる行を切り取るのではなく収まるよう縮小するので、手作業で短くせずにほとんどのカスタムフォントのケースをカバーします。
プラグインパラメータの文字列
両エンジンともプラグインの設定を js/plugins.js(MV では www/ 配下)にプラグインごとの PluginManager.parameters ブロックとして格納し、表示される文字列がインラインにあります。
RuneTranslate は、キーが表示テキストとして読める トップレベル のパラメータ値 — text、message、label、caption、title、description、tooltip、button、menu など — を照合します。ネストされた JSON エンコードのパラメータ構造体を再帰的にデコードは しません。日本語をより深い構造体に詰め込むプラグインは、それらの文字列を 除外 行として浮かび上がらせ、エディターでオプトインして手直しできます。ですので、何も静かに失われません — ホワイトリストが自動翻訳しないものはすべて、レビュー用に可視のままです。
制御コード:同一、決して失わせない
両エンジンとも同じ制御コードのファミリーをサポートします:
\C[n]— テキスト色をパレットインデックスnに切り替える。\N[n]— アクターnの名前を表示する。\V[n]— ゲーム変数nの値を表示する。\.、\|、\^— 一時停止 / 待機の修飾子。
これらは翻訳を 必ず そのまま生き延びなければなりません。プロバイダーが \N[1] を落としたり壊したりすると、ゲームはプレイヤーの名前の代わりに生のバックスラッシュのゴミを表示します。RuneTranslate はプロバイダーに送る前にすべての制御コードを不透明なプレースホルダーでマスクし、それから正確に復元します — そしてどれかのプレースホルダーが往復に失敗した場合、そのユニットは失敗とマークされ、元の日本語が残ります。
パックされた exe(Enigma Virtual Box)
一部の MV/MZ ゲームは、Enigma Virtual Box 経由で data/ フォルダを .exe の中にバンドルして出荷するので、ツールを向けるルーズな JSON ファイルがありません。RuneTranslate はこれらを検出し、バンドルのサイドカーで埋め込まれたデータを展開し、通常通り翻訳します — エクスポートは、翻訳された data/ をパッチした、完全に展開された実行可能コピーを書き出します。
実践的なワークフローのヒント
- JSON ファイルを手作業で編集しない。 手直しには組み込みエディターを使ってください — どのユニットを編集したかを追跡するので、翻訳器を再実行しても作業が保持されます。
- プラグインパラメータは最後に翻訳する。 ほとんどは設定 / UI テキストです。まずセリフを実行し、それから安いプロバイダーで別パスとしてプラグインを。
- 再翻訳をまたいでセーブを保つ。 RPG Maker はセーブを文字列ではなくデータ行のインデックスで読み込むので、イベントを並べ替えない限り、プレイヤーは再翻訳をまたいでセーブを保ちます。
RPG Maker の完全なウォークスルーは RPG Maker エンジンページを参照するか、RuneTranslate をダウンロード(無料 — すべてのエンジンとプロバイダーを含む)して自分のゲームで試してください。RPG Maker のプロバイダーを比較するには、日本語ゲームを翻訳するのに最良のプロバイダーを参照してください。
RuneTranslate を試してみませんか?
無料プランですべてのエンジンとすべての翻訳プロバイダーが使えます。Supporter(月額 $3)ならフルスピードで翻訳できます。
Windows 版をダウンロード
