蘋果的成長日記

          我還是個青蘋果呀!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            57 隨筆 :: 0 文章 :: 74 評論 :: 0 Trackbacks
          轉載地址:http://www.cnblogs.com/bjzhanghao/archive/2004/08/23/36011.html

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

          現在說說在資源中含有參數的情況怎樣處理。比如在對話框中要顯示信息:“帳戶目前還有 900 元,截止日期為 2004-9-1,謝謝!”,因為中間的數字和日期是動態的,所以不能直接放在資源文件中。但是請放心,大可不必為這條信息指定三個資源(被數字和日期分開的三個字符串),可以在資源文件(.properties)中指定資源為這個樣子:

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

          其中{0}和{1}表示將替換為動態的值,然后在程序里寫:

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

          這樣,msg變量里就是動態生成的提示信息了。你很可能希望對日期進行格式化處理,要實現這個功能也很簡單,只要稍微修改一下資源,如下:

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

          確實簡單吧,不知道你用沒用過這個寫法,我是在PPP項目中才第一次使用的,所以趕緊介紹一下了,呵呵。

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

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

          另一個我們在項目中經常使用的插件叫……我還真不知道它全名叫什么,在我這里的打包文件名是“29 Localization Editor”,它是一個非常方便的國際化翻譯工具。用它打開擴展名為.properties的文件后,可以新建key,或者新建語言,你要做的只是在表格中把尚未翻譯成新語言的資源值填下而已,可以選擇只顯示未翻譯的條目或是全部條目。不過很對不起,我還沒找到網上的下載地址,如果需要請和我聯系吧。



          圖1 Localization Editor使用界面

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

          posted on 2005-07-26 13:38 蘋果 閱讀(2045) 評論(0)  編輯  收藏 所屬分類: J2EE/JAVA學習
          主站蜘蛛池模板: 弥渡县| 旬邑县| 甘泉县| 肇庆市| 府谷县| 静乐县| 阿图什市| 沛县| 潼南县| 西城区| 昌江| 板桥市| 汾阳市| 常山县| 开阳县| 连州市| 金门县| 沙洋县| 正镶白旗| 台南市| 延长县| 江西省| 武平县| 镇江市| 五原县| 澄迈县| 宁安市| 边坝县| 龙口市| 弥渡县| 泗阳县| 遂溪县| 马公市| 江山市| 石阡县| 越西县| 巴塘县| 定西市| 墨玉县| 崇礼县| 右玉县|