协作翻译:与团队一起实时翻译日本游戏
同人翻译通常要么是一个人的苦差事,要么是来回传递压缩包的一团乱麻。RuneTranslate 的协作项目把你的整个团队放进同一个实时共享的项目里——就像用于游戏翻译的 Google Sheet。实时在线状态(谁在哪一行、彩色选择框)、后写入者优先的编辑方式、20 个字符的邀请码,以及可以加入并编辑的免费用户队友。如何托管一个协作项目、谁能做什么,以及它如何保持同步。
一整款游戏对一个人来说文本量太大了。显而易见的办法是和朋友分工——但一直以来,这意味着每个人翻译自己那份副本,最后由某个人把这些碎片拼回去,一边祈祷没人动过同一个文件。有些句子被翻译了两遍,改动在合并时消失,而你三周后才发现,因为对话开始自相矛盾。
协作项目彻底消除了这整个问题。一个人托管一个共享项目;其他所有人用一个邀请码加入,在同一个编辑器里同时编辑同一个项目——就像用于游戏翻译的 Google Sheet。你能在几秒钟内看到彼此的光标和改动。不用压缩、不用合并,也不会再有「等等,哪个版本才是最新的?」。
工作原理速览
一名成员创建一个协作项目,得到一个 20 个字符的邀请码。他分享这个码;队友粘贴后,整个项目会同步到他们的机器上,并在平常的编辑器里打开。从此之后,任何人做的每一处改动都会推送到服务器,其他所有人每隔几秒就会拉取一次。它在每个人的磁盘上仍然是一个真正的本地项目——只不过它恰好会和其他所有人的保持同步。
创建共享项目(主持人)
创建协作项目是 Supporter 的特权($3/mo)。在「新建项目」对话框里有一个 Collaborative 开关——在创建之前把它打开,RuneTranslate 就不会创建纯本地项目,而是把它上传,并给你一个邀请码(直接复制到剪贴板)。创建它的人就是所有者。
为什么限制创建却不限制加入?托管一个实时共享项目才是消耗服务器资源的部分,所以它采用了和翻译记忆库一样轻量的「付费托管 / 免费使用」模式。你邀请的每个人都免费翻译——订阅买的是这个房间,而不是里面的座位。
加入(其他所有人——包括免费用户)
加入是免费的。任何已登录的用户,包括免费用户,都可以加入一个协作项目并完整地编辑它。在主界面上点击 Join,粘贴那个 20 个字符的码,项目就会下载并打开。这里没有只读席位:只要你进来了,就能翻译。
邀请码本身由 20 个字符组成,取自一套刻意做到无歧义的字母表——没有长得像的 0/O 或 1/I/L——大约有 100 位熵,所以无法被猜出。万一某个码泄露了,所有者可以重新生成它;旧的会立刻失效。
谁能做什么
只有两种角色,而且很简单:
- 所有者(创建者)——可以重命名项目、重新生成邀请码,以及移除成员。所有者不会「离开」一个项目;他会删除它。
- 编辑者(所有加入的人)——可以编辑任意一行、更改某一行的状态,并随时离开。编辑者不能踢人,也不能重新分享邀请码。
没有按行的锁定或归属——任何人都可以编辑任意单元格。这是刻意为之的:正是这一点,让按章节、按文件,或者干脆按「此刻谁在线」来分工变得毫无摩擦。
看见彼此——实时在线状态
正是这一部分让它感觉像一份共享文档。每个成员都会得到一个稳定的颜色(由其账户推导而来,所以在所有人看来都一样),外加他的姓名首字母或头像。工作时,你可以看到:
- 谁在线——一个在线状态圆点,如果某人大约 20 秒没有发出信号,它就会变为空闲。
- 每个人在哪一行——他们的彩色标记停在他们正在编辑的单元格上,所以你可以看着整个团队在剧本里推进。
- 他们选中了什么——那个「蓝框」。如果队友框选了一段行的范围,你会看到那段范围以他的颜色高亮,于是你就知道他即将着手处理什么(一次最多 500 行)。
更新通过轮询传递:窗口处于焦点时大约每 2.5 秒一次(处于后台时则放缓到约 8 秒,以节省带宽)。所以另一位译者提交的一行,会在大约两到三秒后出现在你的屏幕上。是接近实时而非瞬时——但足够快,足以在不互相妨碍的情况下协调。
当两个人编辑同一行时会发生什么
后写入者优先,逐单元格生效。如果两个人几乎在同一时刻编辑同一行,最后到达服务器的那次改动会保留下来。实际操作中这很少会造成困扰——你能看到谁停在哪一行——但这就是规则,所以如果你和队友都盯上了同一句棘手的话,请商量着来,而不是抢。每一行都是独立的,所以对不同行的同时编辑永远不会冲突。
它仍然是你的项目——离线与导出
协作项目是你磁盘上一个普通的 .rtproj,而不是一个单薄的远程窗口。这带来两个好处。它在离线时优雅降级:如果你的连接断了,你可以继续翻译,你的改动会在本地排队,等你恢复连接的那一刻就会同步。而且导出的方式和其他任何项目完全一样——任何拥有自己那份游戏文件副本的人,都可以用共享的译文构建出翻译后的游戏。协作针对的是文本;游戏文件夹仍然各自归各自所有。
共享项目在闲置 15 天后过期
共享项目并不打算永远留在服务器上。如果一个项目连续 15 天没有任何改动,它就会被自动删除——连同所有成员一起。项目卡片上会显示一个「N 天后过期」的倒计时,随着截止日期临近而变为琥珀色,所以这绝不会是个意外。任何一次改动都会重置这个计时,所以活跃的项目永远不会过期——它只会清理掉被遗弃的项目。如果你想保留一份已完成的译文,请在时间耗尽之前做一次本地导出。
细则
- 每个共享项目最多 50 名成员。
- 翻译记忆库和术语表保持私人。它们不会在团队之间共享——每位译者的术语表和 TM 都归各自所有,而你的改动仍会为你未来的项目积累你自己的私人记忆库。要让角色名在整个团队中保持一致,请提前商定,或者共享一份术语表 CSV。
- 质量仍由你掌控。每个成员都可以像往常一样运行 AI 精修器并选择自己的服务商;共享项目只负责保存文本。
- 仅限已登录。加入和编辑都需要账户,而协作端点使用与其他付费云功能相同的防篡改校验——所以共享项目无法从应用外部被动手脚。
如何进行团队翻译
- 主持人:在「新建项目」里打开 Collaborative,创建,邀请码就会落到你的剪贴板上。(Supporter。)
- 分享邀请码给你的团队,怎么发都行——发个 Discord 私信就很好用。
- 队友加入:主页 → Join → 粘贴邀请码。项目会为每个人打开。
- 分工——按章节、按文件,或者干脆按谁在线。留意彼此的彩色光标和选择框,各走各的道。
- 照常翻译。每一处改动都会在几秒钟内同步;像单干时一样使用精修器和你自己的术语表。
- 完成之后,任何人都可以对着自己那份游戏副本导出。请在 15 天闲置计时耗尽之前做一次本地导出。
小结
一个人用机器翻译能把游戏做到「能读」。一个团队能把它做好,而且更快——协作项目把团队同人翻译中最糟糕的那部分,也就是让每个人的成果始终合并且保持最新,直接抹掉了。一个人订阅来托管;其他所有人免费加入,翻译同一个活生生的项目,连光标都在一起。
下载 RuneTranslate,创建一个协作项目,然后把邀请码发给你的小组。
