求會 Delphi5 Multi Language 的人 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
RootKit
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
sryang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
我有一個 quick and dirty 的招式
1. 把所有的 Form 儲存成文字格式,Font.Name 選擇 Tahoma (要繁簡環境都有的字型),Font.CharSet 選擇 DEFAULT-CHARSET 2. 用 ConvertZ 把 .pas 以及 .dfm 轉成 GB 碼 3. 在簡體環境下編譯 完成! 以後有修改時,只要 重新做步驟 2 跟 3 就好了
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
編輯記錄
sryang 重新編輯於 2008-12-02 15:49:47, 註解 無‧
|
orson
中階會員 ![]() ![]() ![]() 發表:5 回覆:135 積分:58 註冊:2002-07-11 發送簡訊給我 |
|
careychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
|
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
在此分享我的做法
在資料庫存多國語言資源檔 登入之前依os國別下載該國資源到前端寫入INI檔(可判斷資源是否已被更新) 在每一個form載入之前(若表單有繼承關係,只在基底form的create處理) 讀入INI替換掉表單上caption及報表標題等提示字 優點是可以設計管理這些文字資源的介面 缺點是表單報表一堆元件名稱,這些名稱只有程式員看得懂,及提示字維護細節煩瑣 ===================引 用 careychen 文 章=================== 嗯,深有同感,上個月才把一個產品從英文轉西班文,用 D7 的版本,時好時壞,在開發者的環境還行 一出開發者的環境怎麼弄都搞不起來,最後還是全部改寫成讀 ini 的版本 ===================引 用 orson 文 章=================== 千萬別用delphi內建的多國語言 自己弄會安全一點 痛一次 可以換來長治久安 |
RootKit
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
簡單一點就是每次改版都要編譯一遍,但容易發生執行檔語系跟版本的問題。
並且字型也是很大的問題,除非改版非常少的情況。 至於若要導入做多國語系,需要繁瑣的前置作業。 例如:必須整理出所有程式碼會用到的訊息以及定義表單對照的文字。 但有簡體之後,英文或其他語系就會很方便。 我可以幫你導入這方面的技術。有現成的語系比對程式。 Email給你資料庫給你建檔後,我再寫幾個範例就搞定了。 至於簡體,我推薦使用 兩岸文件通(比較專業會辨識空白片語),配合程式自動流程轉換。 大系統我不建議使用資料庫或Ini方式,因為資料可能很多。 使用 Resource DLL 我試過最好的方式。 亦可限制語系並加入語系版本(不容易竄改經過ASPACK或UPX加殼後),適用在有分授權語系的軟體(簡體、繁體售價不同)。 P 兄為了這點東西花摳摳我認為不值得哩..。 ===================引 用 P.D. 文 章=================== 唉! 其實我也不想的, 但沒有辦法, 目前開發的是用Delphi5, 這是一支很龐大的進銷存系統, 不想花太多時間在簡體上, 只好必須搭配Delphi5的多國語功能, 如果 R兄這方面有經驗, 可以協助我們公司順利完成進度, 而且在簡體版的XP,2003上可以順利的運作的話(或者R兄可以協助我們用其他的方式完成任務), 我們十分樂意支付這微薄的謝禮的啦! 不知 R兄有意願否, 可以回個簡訊給我, 我們再私底下再喬一下 |
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
其實我寫軟體一直強調服務是有價的, 我也不斷對我的客戶去建立這樣的觀念, 所以我認為只要能把事情解決, 付費是很正常的, 畢竟如果要我的員工花時間去研究, 他們也是要照領薪水的, 花掉的工資成本算下來並不會比直接教導來的便宜, 所以R兄若有意願, 不妨我們可以談談
畢竟用Delphi5做多國語, 本來就是非明智之舉, 但因為開發系統問題, 一直始終無法轉上Delphi7或 2007以上版本, 所以在急就章的狀況下, 只好先強上多國, 日後再來整體考量完整的解決方法 ===================引 用 RootKit 文 章=================== 簡單一點就是每次改版都要編譯一遍,但容易發生執行檔語系跟版本的問題。 並且字型也是很大的問題,除非改版非常少的情況。 至於若要導入做多國語系,需要繁瑣的前置作業。 例如:必須整理出所有程式碼會用到的訊息以及定義表單對照的文字。 但有簡體之後,英文或其他語系就會很方便。 我可以幫你導入這方面的技術。有現成的語系比對程式。 Email給你資料庫給你建檔後,我再寫幾個範例就搞定了。 至於簡體,我推薦使用 兩岸文件通(比較專業會辨識空白片語),配合程式自動流程轉換。 大系統我不建議使用資料庫或Ini方式,因為資料可能很多。 使用 Resource DLL 我試過最好的方式。 亦可限制語系並加入語系版本(不容易竄改經過ASPACK或UPX加殼後),適用在有分授權語系的軟體(簡體、繁體售價不同)。 P 兄為了這點東西花摳摳我認為不值得哩..。 |
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
銷售在外的軟體少說也有百千個表單和報表,為數眾多的訊息提示
導入多國工程說大不大,真要異動維護起來還是需很多人/工作天呢,甚至畫面都要重新layout(英文訊息通常長度需較多)! 請教R兄,如何具體維護Resource DLL 還有簡/繁當地一些習慣用語,更別說各採英文的國家語言,用詞上也有些微不同 如果有提供管理介面,讓資訊建置者可維護這些語言資源,是否介面提示字會較親和/客制化一點? 另請教改版頻繁,這些Resource DLL如何佈署? A公司對某TT提示字習慣用AA,A公司對某TT提示字習慣用BB, 如何維持資源檔的差異性? ===================引 用 RootKit 文 章=================== 簡單一點就是每次改版都要編譯一遍,但容易發生執行檔語系跟版本的問題。 並且字型也是很大的問題,除非改版非常少的情況。 至於若要導入做多國語系,需要繁瑣的前置作業。 例如:必須整理出所有程式碼會用到的訊息以及定義表單對照的文字。 但有簡體之後,英文或其他語系就會很方便。 我可以幫你導入這方面的技術。有現成的語系比對程式。 Email給你資料庫給你建檔後,我再寫幾個範例就搞定了。 至於簡體,我推薦使用 兩岸文件通(比較專業會辨識空白片語),配合程式自動流程轉換。 大系統我不建議使用資料庫或Ini方式,因為資料可能很多。 使用 Resource DLL 我試過最好的方式。 亦可限制語系並加入語系版本(不容易竄改經過ASPACK或UPX加殼後),適用在有分授權語系的軟體(簡體、繁體售價不同)。 P 兄為了這點東西花摳摳我認為不值得哩..。 ===================引 用 P.D. 文 章=================== 唉! 其實我也不想的, 但沒有辦法, 目前開發的是用Delphi5, 這是一支很龐大的進銷存系統, 不想花太多時間在簡體上, 只好必須搭配Delphi5的多國語功能, 如果 R兄這方面有經驗, 可以協助我們公司順利完成進度, 而且在簡體版的XP,2003上可以順利的運作的話(或者R兄可以協助我們用其他的方式完成任務), 我們十分樂意支付這微薄的謝禮的啦! 不知 R兄有意願否, 可以回個簡訊給我, 我們再私底下再喬一下 |
RootKit
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
P 兄給我你的 Email 我免費幫你。
to Pedro : 維護工具是我以前臨時寫的,倒是沒有著重在親和介面。或是視覺化。 原本是有想過處理 DFM 創建視覺的表單。但很懶就沒弄了。 事實上,維護多國是需要很細心。我比較著重在 繁體後更改其他語系 過濾或比對產生需要翻譯的文件(需要中翻英 給翻譯社) 繁簡就很方便,直接透過"兩岸文件通"自動翻譯。 每一個語系有對照的DLL檔,編輯時仍使用ACCESS 資料庫管理。 待語系改版時,自動化由ACCESS 匯出編譯產生 DLL 檔+ASPACK。 在程式中判斷 DLL 的語系版本,容易管理。 另外使用DLL 好處讀取字串是非常快的。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |