2009年1月20日 星期二

>如何讓 Warzone 2100 顯示中文 @Ubuntu?

能讓 Warzone 2100在XP顯示中文,那在Ubuntu咧?

話說前不久玩Ubuntu 8.10,從懶人包才得知Warzone 2100這個開源婦科復刻版的老遊戲,試玩覺得還不錯,可是發現只要Ubuntu開特效,遊戲就會全螢幕不全,遊戲畫面有些會跑出螢幕外,初玩Ubuntu的人都是衝著它華麗的特效先的不是嗎?可醬開開關關特效實在很麻煩,索性又跳回XP裡頭去PLAY了。

換言之,其實Ubuntu我很........不熟........逃.......
那...這篇是廢篇?!討罵?! 說是也不是,只有98%是吧!哈~!

其實,只要看先前的文章不難發現,關鍵在字型上,方能使中文現形!建議熟悉Ubuntu系統、指令的玩家,朝我提供的方向下手也可以試著套用我弄過的字型檔試試,昏倒OS的TTF字型似乎可用到Ubuntu的樣子。說不定在Ubuntu底下只要用一般有支援中文字型就成功哩!?有試成功的歡迎分享教學~!

還是那句話,建議遊戲開發小組,能加入自由套用字型的選項到遊戲裡頭,就不必這麼麻煩了~是吧!

>如何讓 Warzone 2100 顯示中文 PART2-字型篇-3

【Font Namer】
先前單純替換字型都失敗,就想到會不會遊戲會認字型Typeface名稱?!因為單單改檔名,字型內容供辨識的Typeface名稱依舊不變。好在找到一個可以任意更改TrueType字型(*.ttf)內容資料的特殊軟體~Font Namer!(2.7版下載)還會有女聲跟你說Goodbye :)

【自選字體DIY】



偽裝成DejaVuSansMono.ttf
對自選字體依照下圖樣式,填上DejaVu Sans MonoBookDejaVu Sans Mono(其他不重要)。



然後按下「Create New Font Now」,底下打上DejaVuSansMono再按下「MAKE FONT」就OK了。如下所示。






偽裝成DejaVuSansMono-Bold.ttf
對自選字體依照下圖樣式,填上DejaVu Sans MonoBoldDejaVu Sans Mono Bold(其他不重要)。



然後按下「Create New Font Now」,底下打上DejaVuSansMono-Bold再按下「MAKE FONT」就OK了。如下所示。






:假如用Font Namer會使PC凍結的話,試著先關閉其他軟體再執行它。
:Font Namer預設開啟路徑就是系統已安裝字型那C:\WINDOWS\Fonts
:Font Namer預設就是哪裡開字型改就在同地方存檔。
:承上,想改系統已安裝字型,建議把要改的字型先另存他處再處理比較妥當!再從下圖圈選區選擇欲改字型。



如果嫌麻煩者,可以到「如何讓 Warzone 2100 顯示中文 PART2-字型篇-2」那邊下載現成的。

其實應該建議遊戲開發小組,能加入自由套用字型的選項到遊戲裡頭,就不必這麼麻煩了~是吧!

>如何讓 Warzone 2100 顯示中文 PART2-字型篇-2

【下載改過的字型】
下載我動過手腳的字型檔,下載後解壓縮到遊戲字型那邊,預設是C:\Program Files\Warzone 2100\fonts\

先簡述遊戲字型用途:
DejaVuSansMono.ttf → 這個是細體字,遊戲裡預設用在註釋、訊息小字用。
DejaVuSansMono-Bold.ttf → 這個是粗體字,遊戲裡預設用在操作選單大字用。

先提供幾個我測到目前,覺得不錯的字型給需要的玩家測試!共分A、B、C、D四組,任君挑選~!

A組效果預覽圖:

改自王教授的圓體x2,適用:僅繁體語系!個人覺得這個最對味!
DejaVuSansMono.ttfA-1
DejaVuSansMono-Bold.ttfA-2


B組效果預覽圖:

改自不太硬㊣黑體-繁體,適用:繁、簡體語系!
DejaVuSansMono.ttfB-3
DejaVuSansMono-Bold.ttfB-4




C組效果預覽圖:

改自不太硬YaHei體-簡體,適用:繁、簡體語系!
DejaVuSansMono.ttfC-5
DejaVuSansMono-Bold.ttfC-6


D組效果預覽圖:

改自SimHei體,適用:繁、簡體語系!
DejaVuSansMono-Bold.ttfD

:以上字型均對英文、數字、常用符號都能整體套用!
:以上字型僅供測試,切勿安裝進系統字型,後果如何請自負!


根據我測過蠻多的字體(同時各具有細、粗體兩種)套在遊戲裡頭看,細體的直、橫筆畫常不清楚,感覺就像字少筆畫一樣(如上面的預覽圖),也有可能跟我螢幕解析有關,請玩家自行測試、搭配看看!


另外,後來也發現僅套用DejaVuSansMono-Bold.ttf單一粗體字型替換,整體測試效果不錯,也就是說遊戲只套用一種字型也可以,所以單獨下載一種字型替換也行。(個人推薦Bold粗體系列)


一併提供僅小部分翻譯,測試字型用mo語系檔
繁體mo語系檔 替換方法,看PART1內紅文
測試方法是針對有翻譯的部分,看有無正確顯示出對應中文
主選單測試:基本上主選單能翻我都隨便翻了
遊戲進行中測試:指導那邊進去玩玩看、遊戲中左下角蜂巢式選單


簡體mo語系檔(暫不提供)先用內建版的吧!遊戲進行中按ESC就會出現像C組效果預覽圖那難得一見的中文~哈!


由於在下剛接觸此遊戲,英文又很普通,且很多專有名詞不知道也不會翻譯,所以不太可能接手翻譯工作,還是留待更完整、專業的翻譯mo檔現身吧!

2009年1月19日 星期一

>如何讓 Warzone 2100 顯示中文 PART2-字型篇-1

【前言】
反覆測試找癥結,皇天不負苦心人,瞎貓碰到死耗子....就醬誤打亂撞,讓不才我終於找到了解答...

由於遊戲預設用的字型是不支援中文字,所以套用中文語系會變方塊字(無法顯示繁、簡體)

遊戲自帶字型所在C:\Program Files\Warzone 2100\fonts\
DejaVuSansMono.ttfDejaVuSansMono-Bold.ttf
換言之,只要將支援中文的字型替換原檔即可!?
錯~~~!遊戲照樣賞你方塊吃!XD不然就是無字天書!
不斷測試後來發現,原來字型本身需要先動過手腳才行滴,
至於如何動手腳?先賣個關子,PART-2-3篇再補寫!

【刪 遊戲原本自帶2字型】
在替換前請先將原本遊戲自帶的2字型備份(不備份也沒差重新安裝又回來了),然後刪除DejaVuSansMono.ttf以及DejaVuSansMono-Bold.ttf兩檔,請注意:不是連資料夾喔!裡頭的fonts.conf也別動!

【刪 fontconfig】
再來,若玩家已經安裝並執行過遊戲的話,鍵盤按Ctrl+R輸入%temp%,看到「fontconfig」這個資料夾就殺無赦,那個是遊戲執行時對字型等自動產生的cache快取檔,每次換字型前最好先把它砍了,以免套用失敗!

但,如果玩家已經選到喜歡的字型、遊戲穩定了又經常清除PC暫存檔者,建議將fontconfig排除在外(CCleaner這軟體可以辦到),如此執行遊戲時一開始就會比較快!不然常刪,每次一開始執行遊戲都會花多點時間來重生cache,不信可試試!

【刪 DejaVu Sans Mono相關字型】
擱再來,到系統已安裝字型那邊(C:\WINDOWS\Fonts)找看看有無DejaVu Sans Mono相關字型


我XP裡找到以下4個DejaVu Sans Mono相關字型
DejaVuMonoSans.ttf
DejaVuMonoSansBold.ttf
DejaVuMonoSansBoldOblique.ttf
DejaVuMonoSansOblique.ttf

這4隻不知道這是XP預設字型,還是我安裝其他軟體順帶的
可能依個別PC狀況會有出入喔!

假如找到後也刪除(也就是從系統裡移除安裝這些字型),建議先備份,不知如何備份這4字型者,這裡有提供備份下載

:為何連系統DejaVu Sans Mono相關字型也要移除?
:因為即使替換成動手腳過DejaVuSansMono.ttf以及DejaVuSansMono-Bold.ttf,遊戲仍會頑強地尋找符合內定條件的字型,也就會找到系統安裝字型那邊去。這步驟目的就是要強迫遊戲使用替換過的字型。

>如何讓 Warzone 2100 顯示中文 PART1-翻譯篇

【前言】
有人做出完成度100%繁體語系就可以100%繁體中文...廢XD
也就是做出C:\Program Files\Warzone 2100\locale\zh_TW\LC_MESSAGES\warzone2100.mo
重點就在warzone2100.mo這個語系檔!繁體中文完整度就靠它的翻譯%! 當然目前官方並無收錄繁體語系(Traditional Chinese)也沒有這個zh_TW啦! 希望以後能以此命名!希望投稿譯者如此訴諸官方~!


所以,目前測試用先把C:\Program Files\Warzone 2100\locale\zh_CN\LC_MESSAGES\裡頭的warzone2100.mo給替換掉! 然後遊戲中語系選Simplified Chinese(簡體中文)暫代,要替換字型前先進到遊戲設定好,然後退出遊戲。
PS. 原簡體語系翻得有夠少...也是字型無法配合顯示而放棄的嗎?!

【如何進行翻譯工作?】
建議用Poedit進行翻譯(這軟體也是官方建議的
Poedit有多語系介面,蠻容易上手的...嗎?!(裡頭的「翻譯庫」厲害者可以摸索,翻譯工作會更省事)

:不知道怎麼將改好的po檔放進遊戲內測試
:Poedit 另存新檔,就會同時產生*.po跟*.mo檔,再將翻譯過的mo檔替換遊戲locale那個語系warzone2100.mo檔(檔名一樣要改成warzone2100)。
註:*.po檔是編輯翻譯用,*.mo檔是生成的遊戲用語系檔。

此外,官網也有提供線上翻譯(要先註冊),更新會收錄在日後版本,但主要還要有搭配的字型啊~!

【po檔來源:】
官方網站有提供兩個可下載目前遊戲收錄的各國語系po檔網址http://svn.gna.org/svn/warzone/trunk/po/ & 目前2.1版 http://svn.gna.org/svn/warzone/branches/2.1/po/
雖然每一個語系都可以拿來翻譯(用Poedit打開看左邊都會保留原始字串-英文),到底要沿用哪一個語系來翻還真傷腦筋! 因為原始字串有缺,等於缺的部分沒翻譯到,遊戲裡該部分還是會顯示英文。

例如,光一個「Video Options」在各語翻譯po檔的原始字串-英文裡竟然有的有、有的沒有(遊戲預設英文裡是有的)可見各國玩家引用的原始英文po檔不一,也不見官方提供最新原始英文po檔(就是完整英文沒譯文...好繞舌),應該跟官方強烈要求!

>如何讓 Warzone 2100 顯示中文 PART0-測試環境

測試OS:WIN XP SP3,遊戲版本2.1.1採預設安裝,螢幕解析1440X900。