[VB6] 多語言-英日繁簡

公司有隻舊的 VB6 程式碼,最近要在日文 Windows 上跑。

依照多語言的架構,可將 VB6 安裝包重新封裝為日文版。

經過查找後,可參閱 KB236404 ,下載:International Package and Deployment Kit (IPDK)

問題是 VB6 停止支援後,這個 KB 已經被移除了,所以只好到處找連結,好不容易找到原廠網站還有的直接下載檔案連結:
http://download.microsoft.com/download/vb60ent/ipdkeng/6.0/W9XNT4/EN-US/ipdk.exe

IPDK 安裝後,是一個需要使用命令提示字元下指令的程式,用法很單純,把 VB6 封裝精靈跑出來的結果,必須包含 support 子目錄,直接跑,就會替換已經封裝好的檔案。

由於是覆蓋,建議用複製的路徑來測試與重新包裝。例如原先是:
D:\lang\cht\setup1.exe
含目錄複製成
D:\lang\jp\setup1.exe

再針對 D:\lang\jp 目錄處理。

我的專案比較龐大,而且我已經改用 Windows Installer 封裝了,所以先寫個小專案測試。

首先將測試專案安排所有我用到會顯示的元件,包含 Menu / Label / TextBox / RichTextBox / ComboBox / List / Command / Group / PictureBox 等所有慣用元件,利用 TextBox 當作跨語系的輸入位置,再用 Command 來觸發,讓每個元件都顯示 TextBox 輸入內容。

目標是 W7E (Windows Standard Embedded) ,所以先在 Win7 x86 Ent EN 掛 cht / chs / jp,進行測試專案。

測試時沒有變更字型,所以沒發現問題,此外,測試時只測該語系,也沒發現其他問題。

當重新用 Windows Installer 封裝日文版本的專案時,馬上在測試環境下發現第一個問題…
我原先的專案有做多語系切換,在日文 Windows 只能切英日,沒辦法切繁中。
第二個是個奇怪的問題,不能正常選其他日文字型及字體大小,只能用系統字型自動切日文。

當然是整個廢掉。

中間其他各種測試過程省略,直接來看暫時的策略。
就是 W7E EN + Unicode 補完計畫 2.5 + 非 Unicode 為台灣(Big5)

Win7 安裝 Unicode 補完計畫 2.5 要先選擇台灣地區,然後關閉 UNC ,此外 C_950.nls 要用批次檔安裝,手動拷貝也可以,因為會被作業系統鎖定。
由於 C_950.nls 為 2006 年的,我是懷疑是 Unicode 3.1 或是 Vista 內 Unicode 5.0 改的,而非 Win7 的 Unicode 5.1 改的。

另外 Win7 字型要設定不要隱藏非地區的字型,才能選擇所有字型。

在此狀況下,藉由 Unicode 補完計畫 2.5 就可以讓 big5 轉碼到 英日繁簡韓,不過沒做韓語翻譯,暫且跳過。

算是一個經驗吧,我在想日文字型選擇,不知道被封裝在哪,我已經跳掉 Common Dialog 控制項改用 API 了,不過還是詭異的不能選日文字型,不知道是不是 中文 VB6 + IPDK 沒考慮到的範圍了。

Categories: 封裝部署, 工作點滴, 技術分享 | Tags: , , | 發表留言

文章導覽

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

在WordPress.com寫網誌.

%d 位部落客按了讚: