軟體全球化是電子商務成功關鍵。IBM 要求產品符合全球化標準,開發者需處理多語言資料顯示、日誌記錄。Eclipse 3.0 內建「Externalize String」外掛可提取字串、生成屬性檔,但無法應對複雜 B/S 環境下的客戶端語言分離處理。IBM Globalization Tool (IGT) 在此基礎上增強,提供「處理客戶端地域資訊、響應不同用戶請求、建立多語言日誌」的中介層,透過自動生成的「XX Resources」集合類與「Resource Entry」物件,實現單一服務實例根據客戶端位置動態顯示多語言資料。
| 元件 | 版本 |
|---|---|
| Eclipse IDE | 3.0/3.1 |
| IGT | 1.0 |
| Java SDK | 1.4.1/1.4.2 |
| Tomcat | 5.0.16 |
安裝:將 IGT 解壓至 Eclipse plugins 目錄,重啟 Eclipse 並加 -clean 參數。工具列將出現 IGT 選單與圖示。

Socket 伺服器響應來自 US、China、Japan、France、German 五地客戶端的登入/增刪改/登出請求,需依客戶端語言回應、依伺服器設定語言記錄日誌。原始程式僅輸出英文。
SocketServer.java,透過 IGT 選單/圖示/右鍵啟動向導。nls)。toString() 用於客戶端顯示,toLoggingString() 用於伺服器日誌。



SocketServer.java 添加 setLocale() 方法,依客戶端傳入字串設定 ResourceLoader.setActiveLocale()(客戶端語言)與 setLoggingLocale()(伺服器日誌語言)。performAction() 登入處理前呼叫 setLocale(clientLocale);main() 中設定伺服器日誌語言(如 Locale.JAPAN)。SocketServer.properties 為五語言版本(_en_US, _zh_CN, _ja_JP, _de, _fr_FR),內容以語言代碼標註(實際專案應用 native2ascii 轉 Unicode)。客戶端收到對應語言回應(如 ########[zh_CN]),伺服器日誌統一為日文(########[ja_JP]),實現雙語言獨立控制。
Web 應用部署於 Tomcat,業務邏輯集中於 StoreActionBean.java。IGT 處理流程同案例一,重點配置瀏覽器語言(_clientLocale)與伺服器日誌語言(_serverLocale)。測試修改瀏覽器語言優先順序(德文/中文),回應訊息自動切換,伺服器日誌保持中文環境。




對 RMIObjectImpl.java 應用 IGT,構造函數設定 setLoggingLocale(Locale.getDefault()),setClientLocale() 中設定 setActiveLocale()。生成五語言屬性檔。測試顯示客戶端回應依語言切換(####[zh_CN]####, ####[de]####),伺服器日誌記錄客戶端語言與操作。
IGT 讓 C/S、B/S、RMI 等多類型企業級應用國際化變得簡單高效,並提供增刪改字串的便利管理功能。歡迎至 AlphaWorks 論壇 交流建議。