/RPGM-Text-Replace

透過Mtool可提取出RPGM的遊戲文本,經過翻譯後,直接替換回原本的遊戲中

RPGM-Text-Replace

透過Mtool可提取出RPGM的遊戲文本,經過翻譯後,直接替換回原本的遊戲中

Mtool本身功能完整,但如果想自己將翻譯完的遊戲放在不支援Mtool的平台執行,就要直接將翻譯文本注入遊戲原文件

Mtool提取出的文本

目前提取了幾個遊戲觀察下,Mtool提取出的待翻譯文本應該是包含了RPGMaker腳本結構下所有的非純數字字串 格式為json,結構是

{
  原文1:原文1,
  原文2:原文2
}

使用Mtool進行遊戲翻譯的流程是將json原文key對應的value改為譯文

{
  原文1:譯文1,
  原文2:譯文2
}

接著進行加載,遊戲內的文本就會被替換了,使用Mtool加載的優點是,僅改變了顯示的文本,不會造成遊戲運行出錯, 例如有些字串實際是對應資源檔案名稱,如圖片名或音樂名稱,若直接把遊戲腳本中的字串改掉而沒有改檔名就會導致讀取失敗。 但Mtool可以避免這樣的問題,但如果不想每次打開遊戲都必須透過Mtool加載,則可以選擇直接修改遊戲文件

RPGMaker-MV

目前較新的遊戲都是用這個引擎製作的, 在遊戲沒經過加密封包的情況下 遊戲文本都在遊戲路徑/www/data的json檔案腳本中

比較粗暴的做法就是先排除可能是遊戲系統參數或檔名的字串 然後建立搜尋表和替換表,然後將腳本中的字串都和表格內容進行比對,一旦比對一致就將內容替換 由於RPG Maker的腳本有可能是多層的json,所以要搜尋完所有的字串有可能會花費一些時間, 常見的遊戲劇情文本會出現在 以下幾個文件中: CommonEvents.json #共通事件腳本 MapXXX.json #地圖腳本

RPGMaker-XP VX....

這些比較舊的遊戲使用的腳本為.rvdata .rvdata2 這些腳本是用ruby語言完成的,想要處理可以透過一些專案轉換為json較好處理 不然還是建議直接用Mtool加載翻譯文本

封包過的遊戲

一些經過封包的遊戲,要先想辦法進行解包