国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

J2SE 6 在國際化方面的增強

2019-11-17 05:57:56
字體:
來源:轉載
供稿:網友

  對國際化和本地化的支持是java 標準版一個優點。 Java SE 6 一如既往地為那些注重本地化資源訪問和操作的應用程序開發者提供支持。Java SE 6在以下幾方面為本地化作了加強: .資源的訪問和控制
.針對本地化的服務
  .歸一化文本
  .國際域名
 .日本國的日歷
  .新增locales

  資源訪問和控制
----------------
    編程人員用 java.util.ResourceBundle 類中提供的方法來為應用程序提供本地化資源。使用這個類中的靜態方法 getBundle 來定位以及裝載本地化資源,調用后得到ResourceBundle 的實例,那么這個實例就表征了要被使用的本地化了的文本,圖片以及其他針對本地化的資源。locale 是由語言和地理區域的不同而形成的文化標志。

    盡管在缺省方式下,定位和裝載資源綁定已經為我們做了很多工作,Java SE 6 版本里還提供緩存以及讓編程人員能對本地化資源進行更好地操縱。我們仍然使用 ResourceBundle類獲取本地化的資源,但是Java SE 6 新增加的功能讓編程人員能更靈活地來為應用程序
的本地化資源內容決定如何存儲以及怎樣存儲。

    Java SE 6 先前的版本中,編程人員通常是用屬性文件(PRoperies)和 ListResourceBundle的一個子類來存儲本地化資源。現在,編程人員可以為資源文件指定不同的格式了。舉例來說,使用基于 xml 格式的資源文件,編程人員也可能改動本地化資源文件的缺省命名規范,像這樣的特定是 ResourceBundle.Control 類來做工作。

    ResourceBundle.Control 類負責資源裝載過程中的主要步驟,每個步驟對應類中的一個獨立的方法。通過覆蓋這些方法來定制策略,以期對資源實現非凡定位,裝載和緩存。Control類里定義的方法是實現現有的缺省策略,所以子類化來實現特定的功能。在Control的子類里的 getBundle 方法里定制你自己的功能,甚至能自己決定如何讓應用程序找到以及怎樣使用本地化資源。

    當然可以直接使用缺省的 Control類而不是非得去實現自定義的 Control類。缺省的 Control類里的方法是為編程人員提供了缺省的功能實現,下面的代碼給出的是使用Control類里缺省的功能
Locale targetLocale = new Locale("fr", "FR"); // French language, French region
ResourceBundle myResources = getBundle("com.sun.demo.intl.AppResource", targetLocale);

    假如,你正在使用以 en_US 為缺省local的環境,那么 Control 對象在默認情況下就會搜索如下列出的那些本地化的 AppResource 名稱:
com.sun.demo.intl.AppResource_fr_FR
com.sun.demo.intl.AppResource_fr
com.sun.demo.intl.AppResource_en_US
com.sun.demo.intl.AppResource_en
com.sun.demo.intl.AppResource

    對于以上列出的每個“綁定”名稱,Control默認地會去搜索兩種實現格式:一種是 ResourceBundle的子類 (.class 文件格式);另一種是 PropertyResulrceBundle 的屬性文件(.properties 文件格式)。假如能找到這兩種格式的文件之一,那么就能知道 “綁定”的鏈級關系,從而得到 ResourceBundle的實例?!敖壎币彩且员镜鼗瘜S玫暮缶Y名來區分,比如,fr_FR, fr 以及 en_US,這就是使用相同的本地化“基準名”再配上用于區分具體“綁定”對象的名。此外,AppResource 的缺省行為是會為“綁定”(bundles)進行緩存的,也就是說,即使在對同一個“綁定”(bundle)反復地調用getBundle 方法也只是得到被緩存過了的資源。在JAVA平臺的文檔里具體講述了getBundle 方法的行為方式(http://java.sun.com/javase/6/docs/api/java/util/ResourceBundle.html#getBundle%28java.lang.String,java.util.Locale,java.lang.ClassLoader,java.util.ResourceBundle.Control%29)

    除了缺省的方式外,也許會用到不同于缺省行為的“綁定”裝載的方式。接下來就來說說在哪些場景下裝載綁定是不同于缺省方式的,以下就列寫這些場景:

    用屬性文件(properties),而不是用 class 綁定把資源配置存放到與 local 對應的文件目錄中在經過一段時間后似的緩存資源失效

  僅搜索 Properties 文件


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古田县| 辽阳县| 上犹县| 新疆| 顺义区| 盐山县| 北票市| 建平县| 洞口县| 沁水县| 和硕县| 汨罗市| 疏勒县| 乌鲁木齐县| 景东| 龙井市| 长乐市| 洛隆县| 于都县| 合阳县| 木兰县| 清徐县| 泸州市| 永登县| 托克逊县| 荆门市| 岳西县| 康保县| 武平县| 桂平市| 五原县| 桑植县| 东安县| 嵩明县| 文水县| 宁波市| 治县。| 图片| 乌拉特后旗| 蒲江县| 仙桃市|