RPG Maker MV 与 MZ 翻译对比:对译者有何影响
两款引擎的翻译面几乎完全相同,但在 MZ 中,插件参数、控制码和数据文件夹结构发生了变化。为在 MV 和 MZ 项目之间切换的译者准备的实用笔记。
从译者的角度看,RPG Maker MV 和 MZ 有 90% 是同一款引擎。两者都将对话、选项、物品、技能和术语存储为 JSON。两者使用相同的事件指令码(401 对话、102 选项、320/324/325 滚动文本)。两者也支持相同的控制码(\C[1]、\N[2]、\V[3] 等)。剩下的 10%——文件夹结构、插件参数格式、少数几个新增事件码——正是译者在两者之间切换时容易栽跟头的地方。本文是一份快速参考。
文件夹结构:最明显的差异
- MV 将数据文件存放在
www/data/*.json。游戏资源、插件以及随 Node 打包的运行时都在其旁边。 - MZ 去掉了
www/外层,直接把数据存放在data/*.json。运行时也更精简(默认不带 Node 打包的外壳;MZ 以 NW.js 风格的静态网页应用形式发布)。
对 RuneTranslate 来说这是透明的——引擎检测会同时查看两条路径,并选择实际存在的那条。但如果你要手动做任何操作——在游戏之间复制译文、用外部编辑器查看文件——请记住这个前缀。
对话、选项、滚动文本:完全相同
两款引擎的事件指令结构相同,这意味着翻译面完全一致:
401—— 「显示文字」指令中的对话行。405—— 同一「显示文字」指令的续行(当文本跨越多个显示窗口时)。102—— 选项文本。320、324、325—— 滚动文本块(用于制作人员名单、独白场景)。
RuneTranslate 在 MV 和 MZ 中以完全相同的方式解析这五种。唯一有区别的是哪种码更常出现:MZ 脚本在默认模板中更多地使用滚动文本块,但这是作者的偏好,而非引擎差异。
在 46 个字符处自动换行
MV 和 MZ 都会在消息窗口边缘处折断对话行。在默认字号下,默认消息窗口每行大约容纳 46 个单字节字符;更长的行会换到下一个可见窗口。RuneTranslate 在导出时会在两款引擎中自动将对话按 46 个字符换行,这样译文行就不会溢出对话框。
注意:如果游戏使用了更宽或更窄的自定义字体,换行可能需要调整。目前这是 RPG Maker 适配器中的一个全局常量;如果你遇到某款游戏显示得不对劲,变通办法是在导出前于编辑器中手动缩短过长的行。
插件参数字符串:MZ 出现分歧之处
两款引擎都将插件配置存储在 js/plugins.js(MV)或 js/plugins.js(MZ——路径相同,只是没有 www/ 前缀)。格式的结构是一样的:一个 JS 文件,为每个插件声明一个 PluginManager.parameters 块。两款引擎都将可见字符串内联存储在该块中。
区别在于默认附带哪些插件以及它们如何声明参数。MZ 默认的 Yanfly 风格插件更常使用结构化的嵌套参数模式,这可能会在一个 JSON 编码的字符串内部再产生一个 JSON 编码的字符串。RuneTranslate 能处理常见的嵌套深度,但如果某个插件使用了自定义编码(例如用 Base64 包裹的 JSON),你可能需要手动翻译该插件的字符串。
实用建议:如果你在项目中看到类似 {"text":"こん..."} 的字符串——那是一个由插件在运行时解析的 JSON 编码内层块。日文仍在其中,只是被包裹起来了。翻译后请使用编辑器的查找替换功能进行抽查。
控制码:完全相同,绝不能让它们丢失
两款引擎支持同一系列控制码:
\C[n]—— 将文字颜色切换为调色板索引n。\N[n]—— 打印角色n的名字。\V[n]—— 打印游戏变量n的值。\.、\|、\^—— 暂停 / 等待修饰符。
这些必须原封不动地在翻译中保留。如果某个服务商丢失或损坏了 \N[1],游戏就会打印出一堆反斜杠乱码,而不是玩家的名字。RuneTranslate 在发送给服务商之前,会用一个不透明的占位符遮罩每个控制码,之后再原样还原——如果任何占位符无法完整往返,该单元就会被标记为失败,从而保留原始日文。
实用工作流技巧
- 不要手动编辑 JSON 文件。 手动修正请使用 RuneTranslate 的内置编辑器。编辑器会记录你编辑过哪些单元,因此重新运行翻译器时会保留你的工作成果。
- 最后再翻译插件参数。 大多数插件字符串是配置 / 界面文本,不需要太多手动编辑。先跑对话,手动修好需要修的行,再用一个便宜的服务商单独跑一遍插件。
- 在多次重译之间保留存档。 引擎的播放器按数据行索引加载存档,而非按字符串。只要你不打乱事件顺序,玩家在英文重译之后仍可继续使用他们的存档文件。
完整的 RPG Maker 操作指南,请参阅 RPG Maker 引擎页面。要比较用于 RPG Maker 游戏的翻译服务商,请参阅 翻译日文游戏的最佳服务商。
