智能手機軟體簡介:
程序多語言支持一般來說有以下兩種方式:1. 傳統 INI 文件多語言支持:程序中動態加載INI內容,查找並替換界面中的語言相關字符串。 優點:無需編程知識,普通用戶而已自己定制語言文件。且升級語言文件非常方便(不涉及語言字符串之外的東西)。 缺點:每次運行都耗費額外的工作量在解析語言文件和動態更新界面字符串上,有性能損失,且有些程序不通用。2. MUI 方式的多語言支持:基於 Windows 提供的 MUI 支持,每個語言編譯一個DLL。 優點:運行高效,無任何性能損失。 缺點:只有開發者才能做到多語言支持。每添加一種語言都要新建一個DLL/MUI。並且界面的改動,很可能導致 MUI 需要更新。費勁! ResBorn 是一種高效方便的多語言引擎,它結合了上述兩種方式的優點,但沒有上述兩種方式的缺點。它的工作模式如下:1.導出字符串: 枚舉指定PE文件(可以是當前進程的EXE文件)中的所有資源,把其中語言相關的字符串(對話框、菜單、字符表)導出為 LNG 格式的語言字符串列表(UNICODE帶BOM的文本文件),用戶可以使用任何文本編輯器編輯它。2. 導入字符串:枚舉指定PE文件(可以是當前進程的EXE文件,有自動退出更新機制)中的所有資源,根據1中所述的LNG文件,把特定的字符串更改結果回寫到資源中,完成一個多語言版本的重構工作。其中,步驟一可省略,開發者可以提供原始的語言文件。步驟二僅在切換語言時調用,正常運行時不需要耗費任何的性能損失(根本不用幹活),和MUI方式一樣。簡而言之,ResBorn 是一個 Win32 PE 資源專用解析引擎!下面是 ResBorn Engine (源代碼)的相關內容:1. ResBorn Engine 支持Windows各種版本,包括 Windows Mobile SP/PPC;2. 支持 UNICODE 和 ASCII 編譯(廢話,我的代碼一直如此)。3. 加入完整的 ResBorn Engine 到 PocketPC 程序中會導致程序增大 11KB (夠小)。PC 上不超過 20K4. 全局 LANG 支持,例如,LNG 中加入一行“LANG=2052”,可以把所有的資源語言更改為中文。5. 如有需要,稍後可能會 Release 源代碼。更進一步地,你可以根本不用考慮多語言引擎,因為 ResBorn 本身提供了一個使用 ResBorn Engine 的工具(名字就叫 ResBorn),可以認為是一個專用資源漢化工具(或者英化?等)。使用 ResBorn 工具,可以INI格式的語言字符列表,修改後回寫到EXE/DLL文件中,即可得到一個新語言版本的程序。(理論上針對任何PE有效,不需要在程序中做什麼工作,即,對任何第三方程序可用)2008.09.11 更新為 ResBorn 1.2.150(包含源代碼)注意:第4個版本,已經比較完善了,代碼支持在PC/PPC/SP中編譯運行。使用前請自行備份要操作的EXE文件。