* updated by Kii Ali, 12-11-2001 ftp://ftp.nsysu.edu.tw/cpatch/faq/tech/tech_simp.txt Subject: <檔案說明> 簡體中文化 ------------------------------------------------------------------------------------------ Date: Sun, 14 Feb 1999 06:36:27 +0800 To: Patch-user , VIP From: Kii Ali Subject: (user)簡體中文化 (BIG5 text) 簡體中文化 ■目錄 1.為什麼要「簡體中文化」? 2.技術問題與文化問題 1).文化問題 2).技術問題 3).語系 3. PWin98 面面觀 1).宋體 vs. 新細明體 2).對話方塊 3).偷雞的方法 4.VC 的前置工作 5.NLS (國家語系定義檔)的使用 6.BC 的前置工作 7.文化上的問題 8.臺灣有那些人做過「簡體中文化」? 9.中文化環境規劃 - 在 c: 磁碟同時安裝 NT5/cwin98/pwin98 ,多重啟動 1).NT5 vs. cwin98 2).cwin98 vs. pwin98 10.中文化環境規劃實例 11.結論 12.作者 ■1.為什麼要「簡體中文化」? 在臺灣地區絕大多數的「軟體中文化」,都是只有做繁體中文的部分。 誠如 JAZZ 所言,中文化的精華是在文字上面的淬煉,翻譯的品質完全決定了 這個軟體良莠與否,工具的使用反而是其次。爛中文化或是翻譯機作品,會讓 我們看到吐血,甚至乖乖改投英文軟體的懷抱。這也是中文化作者所耗費心力 最多,最讓人敬佩的地方。至於剪貼別人的辛苦翻譯完的 resource ,改個名 字來當自己的作品,或是用 vc 隨便做做就要號稱完美中文化,就沒有必要評 論了。 如果,我們可以藉由很簡單的程序,把做完「中文化」的軟體,輕易的加上 「簡體中文」的部分,只要再多加一點點時間而已,為什麼不做? 臺灣的中文化作者生產力相當高,在品質與數量上,都超越大陸所做「漢化」 的水準。只是做過「簡體」的人太少了。多花一點時間,就可以服務大陸的 朋友,實在沒有理由不做的。 真的,只要多加幾個步驟就好了。 ■2.技術問題與文化問題 那麼,只要將我們翻譯好的 rc 檔,轉成 gb2312 編碼再貼回去就好了,不是 嗎?這麼簡單就好了。 1.文化問題 兩岸的電腦用詞一直是個問題。這問題太大了。JQJQ 之前介紹弟使用兩岸簡繁通 ,號稱可以轉詞兼轉碼,雖然可以用,可惜詞彙對照表實在太少,在軟體的翻譯 上仍不免出現一堆問題,是以不用。這是文化上的問題,想要憑弟一己之力,讓 對岸的大陸朋友看弟中文化的軟體順眼,畢竟奢求。不是看不懂,卻總是怪怪的 ,難道沒有更好的方法嗎? 2.技術問題 另一個問題是..你知道簡體的朋友是使用 pwin98 較多,或是ewin98 + 外 掛中文系統 較多?外掛的方式排列組合起來有那幾種選擇?(後面這個問題 似乎比較難,不必勉強) 雙橋 亞洲心 漢字通 UnionWay 還是其他?是只要 看看網路上的 gb 編碼文件即可,還是要能輸入文字? 這關係到簡體中文化使用「宋體9」或是 MS Sans Serif 8 ,我看了對岸的 中文化作品,兩種都有人使用。微軟所出的 簡體 office97 則是使用宋體9 。這個問題是可以不理它,不過結果只會像 sina 新浪網, kimo 奇摩所出 的 Netscape 4.5 。 兩個的 Netscape 4.5 每一個對話方塊用了 MS Sans Serif 8 ,而非中文軟體 常使用的「新細明體9」,在中文 win98 底下顯示簡直醜畢了。據說(未經證實) 是要給大陸的朋友「可以用」,而不必另外再傷腦筋的另做 resource ?加上 兩個版本都有不少翻譯錯誤和體例不統一的地方,顯見急於推出而未用心去改正 的後果。sina 版甚至在 composer 執行 java 有點問題,辛苦老半天的東西, 就給這些商人糟蹋了。 3.語系 大陸方面的軟體,他們所使用的語系,想當然爾的都是 CHINESE_SIMPILIFIED 囉?恐怕不太一定。如果拿微軟的簡體 OFFICE97 來看 RESOURCE,固然沒有錯 。每一個畫面都是使用宋體9和 CHINESE_SIMPILIFIED 。但即使是簡體WIN98 裡 面,裡面的 ABC 輸入法都是 Neutral 語系和 MS Sans Serif 8。廣東人張小龍 所寫的 FoxMail ,裡面則是混雜著 Neutral 和 Chinese (Simpilified) ,這可 傷腦筋了。 不說別人,臺灣的 patch-author 所中文化出來的作品,有很多人忘了(或是懶得) 去改 VersionInfo 的部分,選擇檔案後按右鍵/內容/版本/語系,看到的仍是 English (United States) ,這是小地方,卻見證了作者的粗心。 ■3. PWin98 面面觀 看到這裡,別被我嚇壞了,不敢做簡體中文化。有些問題其實不那麼嚴重。 如果您要做「簡體中文化」,手上最好能有 pwin98 (簡體中文版 win98) ,當 做您測試的平臺。如果您的簡體作品是預期在 pwin98 上面執行,那麼語系 和對話方塊,只要設定成 宋體9 Chinese (Simpilified) 就可以了。 好吧,直接換換 RC 檔改宋體9就好了,Kxx 某人廢話那麼多幹嘛? 1.宋體 vs. 新細明體 如果您玩過 pwin98 ,通常第一個印象是「這麼醜的視窗環境怎麼有人要用?」 臺灣的朋友看慣了華康的「新細明體」,換到「宋體」極少有人能看得下去。 所有螢幕上面的字全部是「醜到沒力」。得看個一陣子才能習慣。所以當您的 作品轉換到 pwin98 平臺,可能跟你在 nt4 或是 cwin98 完全是兩回事。 開始覺得華康的 mingliu.ttc 好像還不錯。 2.對話方塊 我們把一些常見軟體的對話方塊規格,開出如下 Win98 使用語系 字型 大小 -------- --------------------------------------------- 英文 English (United States) MS Sans Serif 8 繁體中文 Chinese (Traditional) 新細明體 9 簡體中文 Chinese (Simpilified) 宋體 9 * 在 VC 的稱呼,則是 Chinese (Taiwan), Chinese (PRC)。 宋體是(固定字距)字型,2 英文字寬度 = 1 中文字寬度。新細明體(調和字 距) 的顯示比較好看,每個英文字的寬度都不太一樣,通常 2 英文字寬度 < 1 中文字寬度。英文的 MS Sans Serif 8 看起來甚至比 細明體9 還大, 因此常見有些英文軟體在中文 win98 底下某些對話方塊被擋住,甚至看不到。 您一定猜到我要說什麼了。 從新細明體轉到「宋體」環境時,常常因字串寬度過長而被遮住。尤其是 在英文字元較多的段落上。常常是你在 NT 裡面看,所有的顯示字元正常 ,一換環境就得再調整對話方塊。 比如像 "瀏覽(&R)..." 是很常見的按鈕上文字,上面有 7 個英文字元,在 繁體中文的按鈕上正常,換到簡體中文下,非把按鈕拉長不可,要不然字一定 會被遮住,看起來硬是不爽。常常我們在繁體中文下,調整老半天的 dialog box 對話方塊,到簡體就變形。還好數量不會太多,再拉框框幾次就算了。 如果再沒有 pwin98 ,根本不知道這種地方會出問題,只能瞎子摸象來改了。 沒有方法可以「偷雞」,不能省一些拉對話框的力氣嗎? 3.偷雞的方法 很簡單,我們找個跟「宋體」一樣是(固定字距) ,也就是每個英文字都是同樣 寬度的東西來代替就可以了。「細明體」(固定字距)是最佳的選擇。 在您做中文化時,每個對話框先使用「細明體」來當內定字型。調整和拉動完 字串長度,按鈕, EditBox ComboBox 大小等等元件後,再換回「新細明體」。 我試過,這樣簡體中文化後,在 pwin98 下大半的 dialog 都比較沒有問題, 至少在可以接受的範圍。如果您認真一點,建議還是要在 pwin98 實際調整 dialog box 對話方塊。 ■4.VC 的前置工作 下列的「檔案」及「目錄」在 VC 安裝時,並不會自動複製到你的電腦 硬碟裡面。自己要用手動方式,把下列檔案複製到你的電腦相對安裝目錄 ,這樣在 NT 環境裡面, VC 才能夠存回 resource。其中有 chs 名稱的 都是簡體中文的所需要的檔案。 F:\Visual C++\DEVSTUDIO\SHAREDIDE\BIN\IDE\APPWZCHS.DLL F:\Visual C++\DEVSTUDIO\SHAREDIDE\BIN\IDE\APPWZCHT.DLL F:\Visual C++\DEVSTUDIO\VC\MFC\INCLUDE\L.CHS F:\Visual C++\DEVSTUDIO\VC\MFC\INCLUDE\L.CHT F:\Visual C++\DEVSTUDIO\VC\MFC\SRC\L.CHS F:\Visual C++\DEVSTUDIO\VC\MFC\SRC\L.CHT 在 Chen GB 之前的文章中所提,繁體中文 VC 中文化,只有提示要安裝 cht 的相關目錄,而沒有說到 chs ,所以在回存檔案時,都會有字碼顯 示不對的問題。 當然囉,一般人都是在繁體 NT4/NT5 底下利用 vc 做中文化的工作。所以 這時看到的簡體 dialog,就很有「瞎子摸象」的感覺。NT 下好像又不能用 magicwin 看簡體,就算其他的程式可看,字型還是不能正確顯示。總而言 之,VC 環境實在不是那麼 Visual :( 那麼,去拿簡體版的 NT4/NT5 來灌 灌看嗎? :( 另外,VC 在 pwin98 一樣不能回存 resource ,充其量只能調整 resource RC 檔內容,然後再換回 nt 環境存檔。實在麻煩。 ■5.NLS (國家語系定義檔)的使用 下列的 nls 檔,不管使用 vc 或 bc ,都需要複製到系統目錄。 win98/win95 需要複製到 c:\windows\system\cp_936.nls NT 需要複製到 c:\winnt\system32\c_936.nls F:\Visual C++\DEVSTUDIO\VC\CODEPAGE\WIN95\CP_936.NLS F:\Visual C++\DEVSTUDIO\VC\CODEPAGE\WINNT\C_936.NLS 除了上面的方法外,您也可以藉由安裝 office 97 valuepack 裡面「對遠東版的支援」chssupp.exe ,取得並安裝 nls。 有關 nls 的更詳細解說,請參考底下的文章。 ftp://ftp.nsysu.edu.tw/cpatch/faq/tech/tech_nls.txt ftp://ftp.nsysu.edu.tw/cpatch/faq/tech/tech_nls0.txt ftp://ftp.nsysu.edu.tw/cpatch/faq/tech/tech_nls98.txt ftp://ftp.nsysu.edu.tw/cpatch/faq/tech/tech_nlsnt.txt ■6.BC 的前置工作 BC 其實沒有什麼前置工作。我在 cwin98 底下用 bc 做簡體中文化,無論 怎麼貼過來的 rc 檔,實際執行時總是不正確。當我看到在 pwin98 裡面 出現的是 "紫偶(&F)" 而不是 "檔案(&F)" ,我就知道做錯了。 後來乖乖編好了 rc 檔,轉到 pwin98 底下去貼,就成了。 :) 反正在 pwin98 底下還是要調整 dialog box ,所以索性都用 BC 來做了。 至少 BC 可以在 pwin98 底下回存,而 VC 不行。這也是我喜歡用 BC 來做中文化的原因之一。 ■7.文化上的問題 如果只是單純的轉碼, BIG5 vs. GB2312 ,那還算簡單,像「地球村點點通」 或是 KanjiWEB 都有轉碼工具可用。兩套都不支援長檔名,但弟推薦前者,因 其支援「剪貼簿」功能,讓轉碼更加順利,本來不支援長檔名也因此無關緊要 了。 雖然我們可以不做用詞的轉換,直接 BIG5 <-> GB2312 轉換 rc 檔就可以中文 化了,雖可接受,但總不滿意。我們看到大陸的用詞,「軟件」「光盤」「橫 向平鋪窗口」或許不難懂,但「網關」「句柄」「假脫機數據格式」「後台操 作」很多人就要搞不懂了。至於 「檔案(BIG5) = 文件(gb)」「文件(BIG5) = 文檔(gb)」「連結(BIG5) = 鏈接(gb)」「連線(BIG5) = 連接(gb)」這種兩岸 都在用卻各自定義不同的詞彙,更叫人昏頭轉向。另外,臺灣的翻譯以動詞型 態為多,如「選擇連線」,大陸則是「鏈接選擇」,名詞型態並不少。 因此,大陸朋友看我們中文化的軟體,大概也要縐眉頭吧? 目前總算有比較好的「詞彙轉換」工具了。您可以取得如下檔案,據說也是這 個 Kxx 的傢伙所做的。 cpatch主站 ftp://ftp.nsysu.edu.tw/cpatch/patchutil/tool/b2g10.zip 中山大學 ftp://ftp.nsysu.edu.tw/cpatch/patchutil/tool/b2g10.zip 東海大學 ftp://ftp.thu.edu.tw/cpatch/patchutil/tool/b2g10.zip 海大造船 ftp://ftp.na.ntou.edu.tw/cpatch/patchutil/tool/b2g10.zip 逢甲紡織 ftp://dns.te.fcu.edu.tw/cpatch/patchutil/tool/b2g10.zip ■8.臺灣有那些人做過「簡體中文化」? 您可以跟他們請教有關簡體的技術問題。以弟所知,在「中文化聯盟」的 patch-author 裡面,依字母排列如下。 1.Kii Ali 作品 directx cpl, tweakui, teleport, reget 2.March Fun 作品:服務於臺擎公司所做簡體中文化專案 3.Sam Chang 作品:netterm 等。算是最早跨進簡體中文化的前輩。 或許還有很多,但我實在找不出來。人實在是不多啊。 ■9.中文化環境規劃 - 在 c: 磁碟同時安裝 NT5/cwin98/pwin98 ,多重啟動 倒不僅是看在 NT5 有什麼新功能,而是 NT5 支援 fat32 ,對我們這種傢伙是 頗好的選擇。建議先灌 cwin98 ,再來 NT5 或是 pwin98 皆可。 灌在同一個 c: partition ,不用 system commander ,怎麼可能? 1.NT5 vs. cwin98 眾所皆知,NT4/NT5 都有 boot.ini 和 ntldr (沒有副檔名) 等檔案。只要改 boot.ini ,NT5 、 cwin98 就可以和平共存在 c: 磁碟,這是完全沒有問題的。 兩邊用的 pagefile 也都不相同,不會有被覆蓋掉的問題。詳細安裝情形,您 可以看這裡。NT5 測試報告,好像也是 Kxx 某人所寫的。 ftp://ftp.nsysu.edu.tw/cpatch/faq/ka_nt51877.txt ftp://ftp.nsysu.edu.tw/cpatch/faq/ka_nt51877_1.txt 2.cwin98 vs. pwin98 這反而比較麻煩一點。我們可以調整 msdos.sys 這個純文字檔,讓 bootgui=0 在 config.sys 設定多個 menu ,然後進批次檔 autoexec.bat 選擇 windows 路徑,執行 win.com 就成了。 然後進 cwin98 ,所有螢幕上的中文字全被吃掉。 :( 忘了一件事。它們都共用了 msdos.sys 上面的設定。msdos.sys 的部分內容如下。 [Paths] ;1. [Paths] 段之設定: ; ;--------------------------------------------------------------------- HostWinBootDrv=C ;預設值:C ;目的:指定所要開機的磁碟機和位置。 ; ;--------------------------------------------------------------------- WinBootDir=C:\WINDOWS ;預設值:設定時所指定的目錄 (例如, C:\WINDOWS) ;目的:列出開機時所需要的檔案位置。 ; ;--------------------------------------------------------------------- WinDir=C:\WINDOWS ;預設值:設定時所指定的目錄 (例如, C:\WINDOWS) ;目的:列出設定時所指定的Windows 95 目錄位置。 ; ;--------------------------------------------------------------------- ■10.中文化環境規劃實例 因此,在決定作業系統的流程如下 1.NTLDR 載入,依照 boot.ini 的設定,選擇進 NT / previous Windows 2.選擇第二項,依照 msdos.sys 的設定,bootgui=0 ,進 config.sys 選擇 menu 。 3.依 menu 的選定,在 autoexec.bat GOTO %CONFIG% ,自動進 DOS/Cwin98/ Pwin98。 所以,您可以更改 WinBootDir WinDir 這兩個的值。如果指向錯誤了,就會 去讀到該目錄的 system.dat , user.dat ,找不到字型和讀錯了 registry ,Active Code Page 不對,當然出現一大堆錯誤。我是分別做了 msdosC.sys msdosP.sys 分別給 cwin98, pwin98 使用。我們試寫兩個簡單的 config.sys autoexec.bat 。 config.sys --------------------------------------------------------------------- [menu] menuitem=doshigh, DOS=high menuitem=emm386, DOS=high, UMB menuitem=cwin98, Cwin98 (Traditional Chinese) menuitem=pwin98, Pwin98 (Simpilified Chinese) menudefault=cwin98,4 [doshigh] device=..... [Emm386] device=..... [win] device=..... [common] ..... --------------------------------------------------------------------- autoexec.bat --------------------------------------------------------------------- GOTO %CONFIG% :=================== : DOS HIGH 測試用 :=================== :DOSHIGH LH C:\WINDOWS\COMMAND\MSCDEX /D:CD-ROM /L:D /M:16 GOTO END :=================== : 有 UMB 測試用 :=================== :EMM386 LH C:\WINDOWS\COMMAND\MSCDEX /D:CD-ROM /L:D /M:16 GOTO END :=================== : cwin98 :=================== :cwin98 cd c:\windows copy c:\msdosC.sys c:\msdos.sys set WinBootDir=c:\windows set WinDir=c:\windows win GOTO END :=================== : pwin98 :=================== :pwin98 cd c:\pwin98 copy c:\msdosP.sys c:\msdos.sys set WinBootDir=c:\pwin98 set WinDir=c:\pwin98 win GOTO END :END --------------------------------------------------------------------- ■11.結論 其實,不難的。多裝一個 pwin98 就可以玩了。 不裝也可以,只是難免有點瞎子摸象。我為了要做 Teleport Pro 1.29 的兩用 版本,連裡面的 bmp 圖形都分成繁體版和簡體版來做了。 :) 現在連最頭痛的詞彙問題也由 Kxx 某人解決掉了,只能說「簡體中文化」,已經 不再是不可碰觸的「語言障壁(barrier)」。不管臺海兩岸會繼續保持敵視、和平 共存、甚至統一,在軟體上總是無分國界的,何況兩岸都是使用中文。沒有必要 再為前人的政治因素區隔開來。 我們不太可能期望大陸朋友全盤接受「記憶體」「緩衝區」等名詞習慣,就像我 們臺灣郎看到「物理內存」「硬盤」「後台打印作業」等會覺得怪怪的一樣。政治 區隔下已經造成了文化差異,的確有些無可奈和。只有尊重彼此的文化差異, 臺灣的「執行程式」才能在大陸上「運行程序」吧。 這是弟所深切期望的。 ■12.作者 文中可能還有許多錯誤,歡迎您的來信指教。嘔心瀝血了好幾天,或許能有點用, 就當是給兩岸朋友的兔年春歲賀禮。希望新的一年,事事都能如意。 中文化作者:黃國書 (Kii Ali) ∥Email: kiiali@cpatch.org ∥ICQ:5107476 ∥網頁:http://www.taconet.com.tw/kiiali/ka.jpg ------------------------------------------------------------------------------------------ Date: Mon, 15 Feb 1999 00:27:45 +0800 To: Patch-author From: Kii Ali Subject: 簡體中文化的認證標準 (BIG5 text) 我一直相信,簡體中文化是很簡單的事情。 簡單到沒有理由不去做。 ■繁體認證標準 一般說來,我們中文化後的軟體,至少要能在 win98 上面跑。 這似乎是廢話。但很可惜的,的確有人翻譯中文化出來的軟體在 cwin98 上居然不能跑,原因是「沒有除錯」。在 cdr 燒錄軟體裡面,至於什麼 軟體名稱和誰做的,弟先保個密。 另外也有少部分程式,只能在98 底下跑,在95 底下就不正常。因此,當您 在填下表,準備要發出檔案時,「環境」這一欄能不小心嗎? > 軟體名稱:ReGet > ∥版本:1.32 (244) > ∥分類:FTP 傳檔軟體 > ∥環境:Windows 95/98/NT/Pwin98 > ∥性質:共享軟體 > ∥首頁 http://www.reget.com/ 「環境」代表著這個軟體在中文後──「測試過的環境」。 很多朋友會很高興的在 NT 下用 VC 中文化完了,就可以號稱是「完美中文化」 ,高高興興的發檔出去。錯了,根本沒有在 win98 底下測試,會不會搞不 好在 win98 底下不能跑? 這是笑話,但的確有這種事情。 辛苦老半天,再放出一個不能用的垃圾檔,那就真的沒價值了。 ■簡體認證標準 簡體中文化也是一樣,至少要能在 pwin98 底下跑,這該是最基本的要求。 但是多數中文化的朋友,可能沒有 pwin98 的平臺可供測試。因此下面這段 話,可就不能隨便亂寫。我在寫這一段時,都相當的慎重,雖然它沒幾個字。 因為,它代表你真的測試過。 >■語系說明 > >1. ReGet 1.32 (244) 中文化同時支援繁體中文 (BIG5) 、簡體中文 > (GB2312),並已另外在 Pwin98 (簡體中文 Win98) 利用 BC++ 進行 > 中文化,與測試正常。當然 Cwin98/NT4/NT5 正常運作。 > >2.簡體語系使用 [宋体9] 來當顯示字型。所有的對話框均在 Pwin98 > 測試調整。雖然兩岸的電腦術語不同,弟已經盡可能調整。 在上封信提過,簡體中文化有兩種顯示方式,[宋體9]和[MS Sans Serif 8], 這兩種方式會讓對話方塊的美觀與否,造成差異。 另外,兩岸不同的文化及電腦辭彙 (大陸是稱詞匯吧?),都容易讓我們 在繁體中可以拿 95 分的中文化軟體,轉到簡體上就只能得到 70 分。就 好像我們說「服役」「入伍」或是較通俗使用的「當兵」,對岸則是常用 「從軍」,不會看不懂,只是會很奇怪。 上次有香港朋友在電話中問我「某某人去從軍了嗎?」,真是一下子轉不 過來呀。 文化差異的問題。 ■結論 所以,如果您的測試平臺是 ewin98 + richwin ,pwin98 ,甚至只有在 cwin98 上測過而未在 pwin98 測試,就確切的寫出來,辭彙有沒有轉換 過,也請寫出來。 這樣才能有中文化程度,好與不好的認定標準。 ------------------------------------------------------------------------------------------ To: patch-user@cpatch.org From: Kii Ali Subject: 十分鐘,做出簡體中文化 Cc: Bcc: X-Attachments: 十分鐘,做出簡體中文化 (Chinese BIG5 text) █前提 █觀念問題 1.簡體中文化定義 2.什麼樣的程式可以「簡體中文化」? 3.多語系版本會讓程式變肥,所以執行起來沒有效率? 4.大陸用語的轉換 5.大陸是敵對國家,所以不該替他們做中文化 6.我的軟體沒有簡體中文化,也可以在 pwin98 使用 █對話框的問題 █十分鐘簡體中文化 1.前置作業──繁體 rc 2.轉成大陸慣用詞──簡體 rc 3.轉碼──簡體 rc 4.改回「新細明體」──繁體 rc 5.貼 resource █簡體中文化除錯 █前提 某月某日晚上,在永和豆漿店門口總算見到了心儀已久的「網路隱形 俠」。聊起簡體中文化諸多問題。我說:你沒有看 Kii 某人寫的 faq 嗎?出乎意料之外的,他說,早看了,看不懂。 如果讀者有看 patch-news ,會發覺 Kii 某人近期的作品,幾乎全部都是 繁簡雙語版本。真的不難的,只要十分鐘。底下我想用比較簡單的角度, 去看簡體中文化。我想為了心儀已久的「網路隱形俠」寫寫文章,應該 是值得的吧。 只要十分鐘,就做出簡體中文化,那麼,為什麼不做? █觀念問題 1.簡體中文化定義 繁體中文化──即一般在臺灣地區我們所謂的「中文化」,是指把原 英文軟體取出 *.rc 資源檔後,把它的內容翻譯成中文。當然原來的 軟體裡面的字串是使用英文語系(0409) ,所以要改成繁體中文語系 (0404)。裡面的中文字串當然是使用 big5 編碼。(這一段看起來好 像十足廢話) 簡體中文化──大陸方面稱為「漢化程序」,當然是一樣翻譯成中文, 當然囉,也改成簡體中文語系(0804)。裡面的中文字,很確定是使用 GB2312 編碼的中文。 也就是說,無論你在 nt 或 win98 做中文化時,填入簡體字串必須 經過繁簡轉碼程序。上面的 0409, 0404, 0804 等數字看起來像魔 咒,你看不懂的話,不要管它,跳過去。 2.什麼樣的程式可以「簡體中文化」? 如果要做繁簡中文合併在一起的雙語版本,必需是 Win32 程式。只有 Win32 程式才能容許多語系資源檔的存在。 如果是 win16 程式,則只能單一語系。 3.多語系版本會讓程式變肥,所以執行起來沒有效率? 多語系版本的確會讓程式變肥。如果程式大小為 700k,那麼兩個語系就會 變成 1400k,三個語系變成 2100k?大錯特錯了。 我們增加的只有資源檔部分,程式會依照 windows 系統語系去判定使用那一 個語系的資源檔,如果都沒有,就使用英文語系。以 Kii 某人所中文化的 teleport 1.29 而言,原本 830K,增加了繁體中文和簡體中文,變成 866K ,增加的大小還不到 4%。在硬碟和系統週邊都如此快速的情形下, 說要影響效率,恐怕言過其實。 當然也有人跟弟說,出兩個版本,難道不好?的確好,不過如果在檔案大 小增加不多的情形下,能有相當於兩個版本的功能,為什麼不做?標準 rc 是一定可以做多語系版本,dlginit 問題也可以解決,剩下 ascii 又非 delphi 類型的,才需要分開兩個版本。 4.大陸用語的轉換 有朋友跟弟提到,看到大陸電腦用詞上,出現「菜單」「捕捉」就實在覺 得很沒力。這個的確是爭辯不完的問題。不過我們先看看臺灣對日本在電腦 用語上的差異。 解壓縮 = 解凍 取消 = ロ⑦Лю 註冊 = 送金 美國 = 米國 推薦 = 推獎 雙語版 = 切替版 資訊 = 情報 執行環境 = 動作環境 日本用語不能說他們錯,這是兩方面文化差異的關係,日本人本來就是這 樣用的。 但是把這些用語套上來用而沒有經過翻譯,雖然看得懂,總是 不習慣。如果我們拿到的 winrar 或 winzip winarj 等等,把「解壓縮」 統一寫成「解凍」,我想大家看起來怪怪的吧? 還是尊重當地的習慣用語比較好。這跟兩岸無聊的政治鬥爭無關,甚至也 跟翻譯正確性無關,或著說大陸人使用「菜單」,讓你想到餐廳的菜單而 倒足胃口,但別人就真的是這樣用的。如果我們硬要把臺灣的電腦用語套 在簡體中文化裡面,恐怕會像叫日本人瞭解「解壓縮」這個詞,很不習慣 。能夠尊重當地的生活習慣,才叫做 localization 吧? 轉換大陸用語,目前臺灣地區似乎只有出現這個巨集。Kii Ali 所出,套 用在 he7 上,只能對 *.rc 檔內的詞做轉換,對編碼轉換 BIG5 <-> GB2312 需要另尋工具,我是使用 evdict 2.1 來做。 ftp://ftp.nsysu.edu.tw/cpatch/patchutil/tool/b2g11.zip 我們的中文化作品,讓臺灣人用得很爽已經不稀奇。如果還能讓大陸人 用得很爽快,那才是真完整吧。 5.大陸是敵對國家,所以不該替他們做中文化 N 年前老蔣時代的思想了。拜託。在網路如此發達的情形下,國與國 之間的界限只會愈來愈模糊。交流只會愈見興盛。 如果存敵我之見,連中文化軟體都未能登陸對岸,要談統一對岸,反攻 大陸,恐怕還早得很哪。 如果不存敵我之見,兩岸業餘電腦界都在進行的中文化,則不應該分別 浪費力氣,應該開始嘗試彼此合作的管道才是。 6.我的軟體沒有簡體中文化,也可以在 pwin98 使用 的確可以。最好的例子是 kimo 版 Netscape 4.5。基於 Unicode 的共 通性,的確可以正常顯示中文。但這是有前提的。 1.必需使用 MS Sans Serif 8 字型,如果使用 新細明體 9 ,在 pwin98 底下會全部跳成 system 12 顯示,醜沒關係,還會超出外框,甚至 按鈕按不到。 2.當然這種情形之下,在 cwin98 的畫面,不會好看到那裡去。 3.臺灣人沒問題,大陸人看到 [檔案/編輯...說明] 等全部用繁體字呈現 ,用詞也不同,恐怕不習慣居多。不習慣的結果,最後恐怕是不用。 所以,乖乖的做兩個語系吧。 █對話框的問題 英文, MS Sans Serif 8 繁體中文, 新細明體 9 簡體中文, 宋體 9 上面所列是最常使用的 dialogbox 外觀,照著改即可。不過一般的 cwin98 裡面有「細明體」「新細明體」兩種,他們的差別如下: a.「細明體」固定字距字型,兩個英文字寬度一定和一個中文字寬度一致。 b.「新細明體」變動字距字型,每個英文字的寬度不同。如果是中英文夾雜, 的字句,通常顯示起來寬度會比使用「細明體」短。 而 pwin98 使用「宋體 9」,它是「固定字距」,所以顯示起來寬度 固定。在簡體 win98 環境一般臺灣朋友並不熟悉的情形下,減少在 pwin98 底下除錯,將可減少製作簡體中文化的消耗時間。大陸 pwin98 可是沒有什麼「新宋體」這種字型的。 因此,在製作過程用「細明體」暫時替代「宋體」,便成為很重要的課題。 █十分鐘簡體中文化 底下可以說是偷雞兼省力招數。前提是,前段所提概念要瞭解,否則 可能出現重大錯誤,而導致在 pwin98 環境下不正常。底下的環境 是用 VC5 在 NT5 環境實作 netscape 4.6 其 resdll.dll 中文化的 情形。當然要用 BC5 亦可,不過 bc5 的簡體就只能在 pwin98 底下 作業,方能有正確結果。 1.前置作業──繁體 rc 資源檔名稱為 "resdll.rc" 。 先使用「細明體9」做好繁體部分,把所有的對話框調整完。一定要 繁體部分內容全部翻譯完才能做簡體部分,除非你會大陸的五筆輸 入法,也習慣使用 gb2312 碼,弟就沒話說。 不用新細明體的原因是,「細明體」是等距字,做出來的結果會最 接近「宋體」, dialogbox 除錯要花費時間也會減少。 要拉的字串寬度增加不少。寧可預留一些寬度,而不要讓自己擠在一起。 這樣在簡體部分才不會出錯。 2.轉成大陸慣用詞──簡體 rc 直接用滑鼠拖拉,複製資源檔,變成 "複製 - resdll.rc" 用 KA 的轉換巨集,搭配 he7,置換成大陸習慣用語。 要注意的是,不管你使用 KA 那一版的轉換巨集,在漢書 he7 裡面 不免會有幾個跑漏掉而沒有換到,比方在臺灣慣稱的「檔案」,在 大陸稱為「文件」而忘了換掉等等。細心的除錯看看。 此仍然用 big5 和 細明體在 vc++ 檢視,語系先維持繁體中文。修改的部分 應該不太多了。如果偷懶,甚至連檢視工作也可以省略。 3.轉碼──簡體 rc 把 "複製 - resdll.rc" 轉成 GB2312 碼。我是使用 evdict 2.1 來轉。 檢查語系是否調整為 Chinese (P.R.C.) 4.改回「新細明體」──繁體 rc 把 "resdll.rc" 裡面的「細明體」改回「新細明體」,這樣在 cwin98 下的字型顯示會好看很多。 如果你講究,甚至可以再去調一遍 "resdll.rc" 的 dialogbox , 通常我是不再調整了。這樣看起來,通常只是空白地方較多,倒是 不會影響使用。 5.貼 resource 手上的兩個語系資源檔如下。 繁體中文 "resdll.rc" 簡體中文 "複製 - resdll.rc" 把兩分繁體簡體語系的 Rc 檔,貼入 resdll.dll 。即告完成。 █簡體中文化除錯 其實到上面就夠了。 但是,如果你做簡體中文化的經驗尚淺,弟還是建議你一定要在 pwin98 底下除錯,那怕是看看也好。只有看過,才知道自己的錯 誤在那裡。沒有在 pwin98 底下測試過自己的中文化作品,弟給的 評價,至少要折掉一半以上。 常見問題:超出邊框,編碼錯誤,中文字無法顯示,中文字重疊等等。 你在前面做的工夫愈仔細,在 pwin98 底下可以挑錯的部分將會愈少。 如果可能,取得大陸人對你中文化作品的評價,否則自己做出的簡體 中文化作品,能不能用,將永遠不知道。使用者的評價總是很現實, 但他們的看法通常也正確。