Struts國際化學習筆記

     國際化(internationalization,i18n)和本地化(localization,l10n)指讓產品(出版物,軟件,硬件等)能夠適應非本地環境,特別是其他的語言和文化。程序在不修改內部代碼的情況下,能根據不同語言及地區顯示相應的界面。
    國際化主要體現在:頁面、action的信息、類型轉換信息、校驗信息。
    Struts2的國際化分爲:頁面的國際化,Action的國際化、xml的國際化。
    struts2的國際化三種級別:針對某個Action的action級別,針對package的package級別,針對webapp的webapp級別。優先級:類資源文件 > 包資源文件 > 全局資源文件。Action級優先級最大。
    國際化資源文件:用不同國家的語言描述相同的信息,並放在各自對應的.properties屬性文件中,程序根據運行時環境決定加載哪個文件。

國際化資源文件分爲三種級別:
(1) 類資源文件:將資源文件放到與類同一目錄下,只允許該類使用,命名爲:類名_語言名_國家名.properties
(2) 包資源文件:將資源文件放在某個包下,只允許這個包使用,命名爲:包名_語言名_國家名.properties
(3) 全局資源文件:將資源文件放在src目錄(WEB-INF/classes路徑)下,全局均可使用,命名爲:baseName_語言名_國家名.properties,需要在struts.properties文件中加入以下內容:struts.custom.i18n.resources=資源文件的基本名或在struts.xml中加入: <constant name=“struts.custom.i18n.resources” value=“資源文件的基本名”/>

國際化主要通過以下類完成:
(1)java.util.Locale:對應一個特定的國家/區域、語言環境。
(2)java.util.ResourceBundle:用於加載一個資源包。
(3)I18nInterceptor:struts2所提供的國際化攔截器,負責處理Locale相關信息。

資源文件的命名可以有以下三種形式:
(1)baseName_language_country.properties
(2)baseName_language.properties
(3)baseName.properties

其中baseName是資源文件的基本名,用戶可以自由定義。而language和country必須是Java所支持的語言和國家。如:創建中文和英語國際化,那麼資源文件名稱爲:globalMessages _zh_CN.properties、globalMessages _en_US.properties。

 

本文出自: http://xp9802.iteye.com/blog/1218113  ,轉載時請務必保留此出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章