把游戏里出现的文字直接换成中文,这个事情很难吗?

作者:Mild_Road_独立小作坊 发布时间:2026年11月04日 20:28

前阵子玩一款只有日文的横版游戏,对话框贴着屏幕底边,翻译窗正好压住字幕。把窗口拖到角落,眼睛又得来回跳。玩到半夜我一直在想:都能翻了,为什么不能把游戏里的字直接换成中文?

《Gaming Copilot: 游戏搭子》实机截图 1

《Gaming Copilot:游戏搭子》是我的作品,我自己也在用。一个给玩家用的 AI 游戏搭子,他有翻译功能,目前是走截屏识别:选窗口或框区域,按快捷键翻一次,也能自动隔几秒扫一遍;联网用大模型,断网切本地引擎,速度和质量能调。

Gaming Copilot: 游戏搭子
Gaming Copilot: 游戏搭子
¥24

译文放在悬浮窗里,原文留在画面上。它不碰游戏文件,也不改内存,绝大多数游戏都能用。这是最大的优点,也决定了天花板:译文永远在游戏外面。

现在的翻译,能用但有边界

剧情对话、道具说明、联机外语,框一下就能明白,够用了。但毛病也明显:原文和译文分在两个窗口,谁对应谁得自己拼。

《Gaming Copilot: 游戏搭子》实机截图 2

直接替换可不可以呢?

不用大家说,我自己也有这个需求。真把游戏里的字换成中文,玩家不用来回扫,截图也不带翻译窗。可它和屏幕翻译不是一个难度:屏幕翻译只要看得到画面,替换文字得先找到字画在哪里。

《Gaming Copilot: 游戏搭子》实机截图 3

最理想的是文本表。不少游戏把对白、道具名、UI 文案放在本地化文件里,改完重新打包就行,但只覆盖一部分。有的把字画进贴图,路牌、字幕都是图,得重画;有的把字符串和逻辑绑在一起,改一个词,任务判定可能跟着坏。

《Gaming Copilot: 游戏搭子》实机截图 4

游戏引擎上,Unity 有 TextMeshPro 和字体图集,Unreal 有 UMG 和 .locres,Godot、RPG Maker、Ren'Py 各有一套文本层。想自动适配,主流引擎是必须要覆盖的;社区插件大多按引擎或按游戏做适配,还得盯着更新。

《Gaming Copilot: 游戏搭子》实机截图 5

字体也是坑。很多游戏字体没有中文字形,换了字符串也画不出来,得往字体图集里塞字,还得调字重、行高和换行;中文通常更短,对话框宽度却写死了,短了留白,长了溢出。

再往下是注入:改内存、挂钩子,都要往游戏进程里伸手,联机游戏一碰反作弊就可能封号,更新一次就全变。

不碰游戏,也有半条路

折中的做法是视觉替换:截下原文那块画面,识别文字,抹掉原文,再把译文画回原位。界面不变,字变了。难点在抹得干不干净、字号字色对不对得上,以及字一动就穿帮;适合静态 UI,不适合满屏乱飞的战斗提示。

《Gaming Copilot: 游戏搭子》实机截图 6

还有个容易忽略的点:译文嵌进游戏后,看起来就像官方写的。屏幕翻译翻错了,你知道是机器翻的;替换之后翻错了,玩家会以为游戏本来就这么写。人名不一致、语气不对、技能名翻错,在悬浮窗里能忍,嵌进 UI 里就很扎眼了。

《Gaming Copilot: 游戏搭子》实机截图 7

实话实说,嵌入翻译这块我还在尝试各种技术方案,需求是明确的。但是最好是不动游戏本身,就能做到的,如果大家有更多想法的话,欢迎评论留言一起讨论下,有可以参考学习的软件也可以戳我哈,感谢~