把遊戲裡出現的文字直接換成中文,這個事情很難嗎?

作者: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

實話實說,嵌入翻譯這塊我還在嘗試各種技術方案,需求是明確的。但是最好是不動遊戲本身,就能做到的,如果大家有更多想法的話,歡迎評論留言一起討論下,有可以參考學習的軟體也可以戳我哈,感謝~