2009年4月15日 星期三

戰鎚 UI 的中文化方法

其實中文化不會很難, 自己寫就有些難度,除了要瞭解 LUA 這個語言外(其實語言本身不太難),另外就是要瞭解 WAR 的 API 是幹啥用的,而且需要有遊戲來配合測試

以下是中文化步驟概要:

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

沒有留言: