delphi多語言MultiLanguage支持,經搜索網上流傳的使用教程如下,
1.創建一個工程MultiLanguage, 在Form上放一個Label和一個Button, 分 別把Caption賦值爲“English Label”和“English Button”。 2.選擇菜單Project|Languages|Add ..., Delphi顯示Add Languages對話框, 選擇Next。 3.從語言列表中選中“英語(美國)”和“中文(中國)”, 選擇Next。 4.ITE會根據所選的語言創建子目錄,目錄名稱是語言的縮寫,選擇Next。 5.第一次增加語言時, Update Mode固定爲Create new, 選擇Next。 6.選擇Finish。 Delphi會自動創建支持不同語言的資源動態庫。 Delphi還會自動創建一個工程組, 其中包括原有的MultiLanguages.EXE, 還包括新建 的兩個資源動態庫 (MultiLanguages.enu, MultiLanguages.chs)。保存工程組。 Delphi啓動Translation Manager, ... 選擇“中文(中國)”|Forms|Unit1, 填寫翻譯後的中文。保存並關閉。 打開Project Manager, 編譯MultiLanguages.enu和MultiLanguages.chs, Delphi會在 相應的子目錄生成資源動態庫(我的目錄下有三個文件 擴展名分別是 rc rcn res )
此教程不夠全面、詳細,工程創建完成,接下來要怎麼修改呢?
本人研究delphi自帶的demo(Demos\RichEdit)後,頗有心得,現在將Translation Manager使用方法共享。
1.打開工程組bpg文件,點擊View Form(Shift + F12),會看到有exe對應的窗體和多語言chs、enu等對應的窗體。exe文件對應的窗體可以增加、刪除、修改窗體上的控件,而多語言chs、enu等對應的窗體只能調整窗體上的控件的caption和位置。如果在多語言chs、enu等對應的窗體上增加、刪除、修改窗體上的控件會報錯Modification not allowed in a form resource.
2.打開exe對應的窗體,新增一個button。
3.exe對應的窗體增加了一個button,這裏就需要更新到多語言chs、enu等對應的窗體上。怎麼操作呢?首先保存修改後的exe對應的窗體,再點擊菜單
Project|Languages|Update Resource DLLs,接着會出現確認對話框,點擊YES。
4.編譯。點擊View|Project Manager,首先編譯多語言chs、enu等工程,在工程上右鍵點擊Compile,然後再便宜exe工程。
-----------------------------------------------------------------------------------------------------------------------------------
動態切換語言
uses reinit;
引用reinit單元,該單元在delphi自帶的demo(Demos\RichEdit)項目文件夾下。
1.首先聲明
const ENU = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH; CHS = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE; CHT = (SUBLANG_CHINESE_TRADITIONAL shl 10) or LANG_CHINESE;
2.使用
procedure TForm1.N2Click(Sender: TObject); begin if LoadNewResourceModule(CHS) <> 0 then begin ReInitializeForms(); end; end; procedure TForm1.N1Click(Sender: TObject); begin if LoadNewResourceModule(CHT) <> 0 then begin ReInitializeForms(); end; end; procedure TForm1.N3Click(Sender: TObject); begin if LoadNewResourceModule(ENU) <> 0 then begin ReInitializeForms(); end; end;