前往
大廳
主題

如何製作漢化工具.6

Q拔 | 2021-07-29 15:11:12 | 巴幣 9540 | 人氣 3838

這篇主要是前陣子有幾位網友敲我,提及一些他們在依照前面幾篇修改一版可吃前版漢化的版本時遇到一些問題,也的確版本更替後又多了些問題,我索性重頭弄一遍看看,不過沒有完全修好,但還是能用就是了哈。(注意,這個只是可以將舊的漢化導到現有版本上,非完整的漢化程式。)

======================================================================
首先小小提一下之前下架的原因,大概也是朋友們憂慮文檔的版權問題。日文改動成中文,不要弄到檯面上日本官方應該還是睜隻眼閉隻眼的?,那至於中文部分涉及官方陸板,之前提摩就傳被警告過XDD
所以這邊不再提供中文相關的文檔,只是程式可以吃那些資料而已XDD
==========================================================

1. 先點選專案按右鍵選最後一個Properties, Text file encoding ->other 選成utf8 ,

2. 也是選專案按右鍵選Configure -> Add gradle....讓他跑一陣子抓套件。這邊好像常有人有不同問題,但我也不太熟這套,所以遇到問題時真的只能個人發揮了XDDDDD,我的版本是Eclipse  (Version: 2021-03 (4.19.0))

3. 接下來是程式部分將原本吃陸板的設定改成吃國際板,搜尋_CHS.EXD ,將下列這四個改成_JA.EXD。
4. 取消字體轉換避免繁體兩次轉換,搜尋JianFan,將原先的 JianFan.getInstance().j2f註解調,換成一般的。
if (bytes[0] == 0x02) {
    newFFXIVStringBytes = ArrayUtil.append(newFFXIVStringBytes, bytes);
} else {
//newFFXIVStringBytes = ArrayUtil.append(newFFXIVStringBytes, JianFan.getInstance().j2f(new String(bytes, "UTF-8")).getBytes("UTF-8"));
newFFXIVStringBytes = ArrayUtil.append(newFFXIVStringBytes, bytes);
}

5. 好了之後就可以先跑跑看,前面有發生備份問題就算了不理他....
但是不知道為什麼跑一跑percentPanel會有問題,以前都沒注意到?

這邊打開ReplaceEXDF.java ->
public ReplaceEXDF(String pathToIndexSE, String pathToIndexCN, PercentPanel percentPanel) {
this.pathToIndexSE = pathToIndexSE;
this.pathToIndexCN = pathToIndexCN;
this.fileList = new ArrayList<String>();
this.exQuestMap = new HashMap();
this.transMap = new HashMap<>();
this.lang = Config.getProperty("Language");
//add
this.percentPanel = percentPanel;
}


6. 到這邊程式上就應該可以順順跑完一次, 可以開始享受成果?
不、並沒有,有部分人開進遊戲之後會因為螢幕解析度較高的關係會碰到字體整個花掉不正常顯示的現象。
這是官方再5.5時有對高解析度增加一組新的字型,但是漢化程式並沒有的關係,那時候也是進入遊戲後才發現這問題,遂緊急再改了一版,將字體補上去XDD

好在之前有搬移過陸板的高清字型的經驗,所以知道是缺字庫會有這現象。這邊確認的手法簡略講一下...
首先用FFXIV Explorer 解開000000.win32,檢查common/font 可以發現多幾個未知的CRC file (ex ~ E1DCA76A)
然後再檢視ffxiv_dx11.exe內容....

可以得知多了jupiter_46.fdt jupiter_90.fdt meidinger_40.fdt miedingermid_36.fdt  這幾個字型定義檔。計算一下file CRC 也與前面Explorer的相符合、確認是新增的字庫,再根據之前的經驗大概就是上一級字庫大小X2版本,但是這塊我也不熟所以僅將上一級字庫照樣複製過去而已(ex., jupiter_23.fdt  cpoy to jupiter_46.fdt )。也希望有高手幫忙,如果可以連字型(font1~7.tex)都可以自建的話、倒是連主畫面與人物界面都可以中文化了XDD

所以將上述講的檔案更改好複製到漢化程式 \resource\font\ 之下即可。(或是直接用下面分享的 sorce code 裡的)

7. 這些都弄好了之後就可以自己製作漢化了... (不過目前好像是5.0最後一版了......)

剩餘問題...任務標題是日文,這個比較沒影響就不處理啦XDD


最後是希望大家疫情期間多注意自己與身邊朋友的狀況,以及在日本奧運爭取榮耀的選手們加油。



創作回應

雨嗜
感謝阿q拔的辛勞,謝謝
2021-07-29 15:29:44
所羅門
https://bbs.nga.cn/read.php?tid=29936788
對岸有弄出 4K 字型了,裡面也包含中文的 font1.tex 剛測試大廳介面可以中文化了
2022-01-15 02:15:22
Q拔
抱歉很晚才回復XDD。對岸手腳真的很快哩, 好像是SE有在6.0有把Loddy的字型檔挪出來所以才可以實現大廳中文化,不過那4K字型公會裡人測試好像怪物名字遠遠看會黏再一起再加上字體有點細就沒使用了,我這邊有以前FFCAFE做的高清字型,你有興趣再私訊我XDDD
2022-02-15 20:19:35
阿神
想請問mac版有辦法使用嗎QQ
2022-09-11 05:08:35

更多創作