軟件的國際化:軟件開發時,要使它能同時應對世界不同地區和國家的訪問,并針對不同地區和國家的訪問,提供相應的、符合來訪者閱讀習慣的頁面或數據。
國際化,簡稱i18n,簡單的說,讓代碼自動適應不同的使用的環境的語言.另外,對于開發來說,解耦合配置.
在 Struts2 中,所有的消息提示都是基于國際化的。其次,要想在 truts2中使用國際化,動作類必須繼承 ActionSupport 類。
a、配置全局資源包
b、配置包范圍的資源包
資源包名稱命名規范: package_語言代碼_國家代碼.PRoperties(固定的)。以此種命名方式的資源包能被該包及其子包中的動作類訪問
c、局部消息資源包(只為動作類來使用的)
資源包名稱命名規范:action名稱語言代碼國家代碼.properties。以此種命名方式的資源包,只為動作類服務。
a、action中的讀取方式:getText(“key”)
b、在頁面中讀取資源包內容:,如果資源包中沒有對應的key值時,則把key的內容顯示在頁面上。
getText:從國際化文件的配置中,根據key去獲取值 國際化文件擴展名必須叫peoperties,名字隨意取,但有規則.
建立全局的國際化文件:message.properties配置國際化文件內容:(鍵值對)配置國際化文件:
<!--國際化文件,value的值,必須和國際化文件的文件名(不包含擴展名)一致--><constant name="struts.custom.i18n.resources" value="message" />獲取國際化信息:addActionError(super.getText(“UserAction.loginerror”));
根據文件名的規則來選擇不同的語言。 完整的文件名: 名字語言編碼國別編碼.properties 比如: messagers_zh_CN.properties(完全匹配) messagers_zh.properties(部分匹配) messagers.properties(默認匹配)
通過更改瀏覽器的語言,來選擇不同的國際化文件
國際化文件的內容要求,必須是ascii碼,中文必須編碼。?使用java命令:native2ascii
校驗的文件中配置:
國際化文件中配置:
在國際化文件中增加:
在頁面中讀取國際化信息:
新聞熱點
疑難解答