蘋果的成長(zhǎng)日記

          我還是個(gè)青蘋果呀!

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            57 隨筆 :: 0 文章 :: 74 評(píng)論 :: 0 Trackbacks
          轉(zhuǎn)載地址:http://www.cnblogs.com/bjzhanghao/archive/2004/08/23/36011.html

          在本文的上篇里,介紹了使用Eclipse的國(guó)際化工具對(duì)程序中的字符串進(jìn)行外向化處理(Extenalize),可以看出步驟是十分簡(jiǎn)單的。實(shí)在是很喜歡Eclipse這樣的工具,它可以為你做很多事情,干凈漂亮,但絕不會(huì)在未經(jīng)你同意的情況下做任何動(dòng)作,所謂“利器”也!

          現(xiàn)在說(shuō)說(shuō)在資源中含有參數(shù)的情況怎樣處理。比如在對(duì)話框中要顯示信息:“帳戶目前還有 900 元,截止日期為 2004-9-1,謝謝!”,因?yàn)橹虚g的數(shù)字和日期是動(dòng)態(tài)的,所以不能直接放在資源文件中。但是請(qǐng)放心,大可不必為這條信息指定三個(gè)資源(被數(shù)字和日期分開的三個(gè)字符串),可以在資源文件(.properties)中指定資源為這個(gè)樣子:

          my.resource.key=帳戶目前還有 {0} 元,截止日期為 {1},謝謝!

          其中{0}和{1}表示將替換為動(dòng)態(tài)的值,然后在程序里寫:

          Float amount=;
          Date dt
          =;
          String msg
          =MessageFormat.format(Messages.getString("my.resource.key"), new Object[]{amount,dt});

          這樣,msg變量里就是動(dòng)態(tài)生成的提示信息了。你很可能希望對(duì)日期進(jìn)行格式化處理,要實(shí)現(xiàn)這個(gè)功能也很簡(jiǎn)單,只要稍微修改一下資源,如下:

          帳戶目前還有 {0} 元,截止日期為 {1,date,yyyy-MM-dd},謝謝!

          確實(shí)簡(jiǎn)單吧,不知道你用沒(méi)用過(guò)這個(gè)寫法,我是在PPP項(xiàng)目中才第一次使用的,所以趕緊介紹一下了,呵呵。

          接下來(lái)的問(wèn)題是編碼,資源文件寫為英文是沒(méi)有問(wèn)題的,可以正常顯示,但漢字是不能直接寫在資源文件里的,要轉(zhuǎn)換為unicode才可以。jdk本身提供了native2ascii工具,可以實(shí)現(xiàn)這個(gè)功能,但用命令行總是不太方便,雖然也有人很喜歡使用命令行的感覺(jué)……如果你愿意Eclipse為你服務(wù),大可以使用我下面介紹的兩個(gè)插件,利用它們,你根本不需要顯式轉(zhuǎn)換編碼這一步了。

          第一個(gè)是Properties Editor,好象是日本人寫的,安裝后它會(huì)與擴(kuò)展名為.properties的文件相關(guān)聯(lián),使用它打開資源文件,可以在本地語(yǔ)言與unicode視圖之間切換,一般情況下編輯本地語(yǔ)言就可以了,保存時(shí)會(huì)自動(dòng)轉(zhuǎn)換為unicode。當(dāng)需要查找某個(gè)資源(值)并修改時(shí)這個(gè)編輯器非常方便,例如想把資源里所有“你好”改為“您好”,如果面對(duì)的是一堆unicode碼還真是頭疼。安裝這個(gè)插件需要2.1.1版本以上的Eclipse。

          另一個(gè)我們?cè)陧?xiàng)目中經(jīng)常使用的插件叫……我還真不知道它全名叫什么,在我這里的打包文件名是“29 Localization Editor”,它是一個(gè)非常方便的國(guó)際化翻譯工具。用它打開擴(kuò)展名為.properties的文件后,可以新建key,或者新建語(yǔ)言,你要做的只是在表格中把尚未翻譯成新語(yǔ)言的資源值填下而已,可以選擇只顯示未翻譯的條目或是全部條目。不過(guò)很對(duì)不起,我還沒(méi)找到網(wǎng)上的下載地址,如果需要請(qǐng)和我聯(lián)系吧。



          圖1 Localization Editor使用界面

          好了,關(guān)于Eclipse的國(guó)際化先介紹到這里了。如果你的應(yīng)用程序是Eclipse插件,還可以更進(jìn)一步:把資源文件打成語(yǔ)言包。關(guān)于這種方式(Fragment)的介紹,以后有時(shí)間再寫吧。

          posted on 2005-07-26 13:38 蘋果 閱讀(2046) 評(píng)論(0)  編輯  收藏 所屬分類: J2EE/JAVA學(xué)習(xí)
          主站蜘蛛池模板: 内乡县| 尖扎县| 将乐县| 吉木乃县| 呼伦贝尔市| 蒙阴县| 南和县| 惠东县| 射洪县| 彭山县| 乌兰察布市| 吉安县| 丹江口市| 宁乡县| 武穴市| 郓城县| 封丘县| 东乌珠穆沁旗| 莱西市| 太谷县| 大理市| 于都县| 巴林右旗| 门源| 龙口市| 通渭县| 呼玛县| 安岳县| 科技| 绍兴县| 桐梓县| 汽车| 苏尼特右旗| 定安县| 叶城县| 延庆县| 铁岭市| 盘山县| 扎赉特旗| 无锡市| 安图县|