|
摘要:本文主要論述了在Web環境下如何用Java語言編程解決程序的多國語言問題。
關鍵字:java 多國語言 解決方案
隨著經濟全球化的發展,產生了眾多的跨國公司,而Java語言的出現以及網絡通訊技術的飛速發展,使企業僅購買一套基于web的企業級應用軟件(比如說:OA系統,ERP系統、CRM等),通過網絡就能滿足整個集團共同使用該軟件成為可能。既減少了軟件費用,又縮短了信息延遲,提高了企業運作效率。但因為應用系統是面向多個國家,多種語言的,所以在設計軟件時就不得不解決國際化(internationalization)問題,國際化的程序應支持多國語言,不同格式的日期、時間、貨幣和其它值,還有操作界面的風格、界面個性化定制等問題.,本文著重論述多國語言的解決方案:
Java語言是一種面向對象的語言,所以可以生成一個國際化的軟件包,使由系統自動根據區域及語言設置的屬性進行判斷成為可能。
解決方案主要有兩種:
一是利用Java本身提供用于解決國際化問題的軟件包當中的ResourceBundle及其子類,處理在Java類中或是property文件中定義的參數;二是自定義一個類進行存取,把相應參數放在數據庫或是屬性文件中。
一、 利用Java類包:
1、根據系統默認的語言設置讀取參數值的類Resource:
package i18n.article; /** public class Resource { private static final String HEAD_FILE = "ATTR"; //屬性文件名的前綴 public Resource() { public synchronized String srcStr(String disStr) { Locale locale = Locale.getDefault(); //獲取系統的區域與語言默認設置 String fileName = new StringBuffer(FILE_PATH).append(baseName) InputStream is = new FileInputStream(fileName); //生成文件輸入流 |
2、對應的properties文件:ATTR.properties和ATTR_zh_CN.properties
(1)ATTR_en_US.properties:
LoginName=login name Password=password Login=login LoginTime=loginTime LogOff=logout ChineseVersion=English Version MainPage=home SoftWare=softWare Hardware=Hardware YourLocationMainPage=YourLocationMainPage MyCalendar=MyCalendar MyMails=MyMails R&D=R&D Forum=Forum DeveloperProcess=DeveloperProcess TechnologyCommunion=TechnologyCommunion |
(2)ATTR_zh_CN.properties:
LoginName=用戶 Password=密碼 Login=登陸 LoginTime=登陸時間 LogOff=注銷登陸 ChineseVersion=中文版 MainPage=首頁 SoftWare=軟件 Hardware=硬件 YourLocationMainPage=當前位置:首頁 MyCalendar=我的日程 MyMails=我的郵件 R&D=研發區 Forum=討論區 DeveloperProcess=開發進程 TechnologyCommunion=技術交流 |