以下是中文化步驟概要:
- 到 curse 上(或其他地方)取得英文版的 UI
- 解開後可以發現裡面全都是文字檔
- 用文字編輯器打開 (推薦用 Notepad++) ,把有會顯示英文字的檔案留下來 (所以可能要進遊戲看看這些字是不是會顯示出來,是否需要翻譯)
- 利用 Notepad++ 功能表中的 格式->轉換至UCS-2 Little Endian 功能把該檔案轉成 UTF-16 Little Endian 的編碼方式
- 把要翻譯的文字以中文取代
- 要顯示出來的字都要以 wide character 的格式輸出,所以字串上都要加上 L,例如字串 "本文" 要寫成 L"本文",這一點在原本的英文上也是如此,不過為了怕有例外,這點還是請大家留意一下
- 不知道為什麼系統的內建函數 string.format 沒辦法處理中文字,所以我遇到有 string.format 在處理字串的地方都改用 L"字串1"..L"字串2" 的原始字串連接方式來取代了, 這點再請知道的先進補充一下
- 存檔
- 開遊戲起來 debug, 已經在遊戲中的打 /reloadui 可以重新載入已經存檔好的 UI
- 程式中可以用 d("訊息") 來把除錯訊息丟出來, 在遊戲中打 /debug 就會出現除錯視窗了
- 我處理過有需要改中文的地方都是在 *.lua 檔內,*.xml 沒動到過, 而 *.mod 這個 xml 內容的檔案有一些版本資訊和UI說明的, 則是怎麼處理就是顯示不出中文
沒有留言:
張貼留言