Open-Open

          皇家撒拉哥薩
          posts - 32, comments - 3, trackbacks - 0, articles - 1

          Jetspeed支持中文本地化

          Posted on 2006-07-16 11:04 開源愛好者 閱讀(861) 評(píng)論(0)  編輯  收藏 所屬分類: Portal
          ?Jetspeed本身已經(jīng)解決國(guó)際化問題。只要按照J(rèn)etspeed的國(guó)際化要求進(jìn)行正確的編碼設(shè)置和配置,所有網(wǎng)頁(yè)均可以正確顯示。
          本文教會(huì)大家怎么樣漢化Jetspeed項(xiàng)目。

          1.讓Jetspeed支持中文本地化。
          Jetspeed中支持多種語(yǔ)言的本地化,偏偏沒有提供中文的本地化,不知道是不是Apache開源組織對(duì)中國(guó)軟件水平的歧視。不管怎樣,我們中國(guó)人還要靠自己的努力來(lái)改變世界對(duì)中國(guó)軟件的看法。廢話不說,下面列出中文本地化的步驟:

          (1)增加本地化屬性文件
          在\WEB-INF\classes\org\apache\jetspeed\modules\localization目錄下,存放了Jetspeed使用的本地化屬性文件,但是還沒有中文本地化屬性文件。
          打開JetspeedLocalization.properties,將該屬性文件中的屬性值翻譯為中文,保存文件到新的文件,如1.properties。再使用轉(zhuǎn)碼工具(每個(gè)jre里都自帶了這個(gè)工具)native2ascii .exe將翻譯完的屬性文件轉(zhuǎn)碼成ascii編碼:
          native2ascii 1.properties JetspeedLocalization_zh.properties。
          最后確保將這個(gè)本地化屬性文件JetspeedLocalization_zh.properties放在該目錄下。
          注:假如你的Jetspeed項(xiàng)目中類結(jié)構(gòu)已經(jīng)打包部署,請(qǐng)解開這些類結(jié)構(gòu),部署到classes目錄下,方便修改(此時(shí)應(yīng)將原來(lái)的jar包從lib目錄下移除)。

          (2)修改Jetspeed的兩個(gè)配置文件
          ---------------------------
          \WEB-INF\conf\TurbineResources.properties
          找到相應(yīng)的屬性并修改其值:
          #Velocity service
          services.Velocity.input.encoding=UTF-8
          #Localization service
          locale.default.language=zh
          locale.default.country=CN
          locale.default.charset=GBK

          ---------------------------
          \WEB-INF\conf\velocity.properties
          找到相應(yīng)的屬性并修改其值:
          #template encoding
          template.encoding=UTF-8

          (3)執(zhí)行完以上兩步,打開瀏覽器,設(shè)置瀏覽器的語(yǔ)言首選項(xiàng),就可以看到不同語(yǔ)種顯示的頁(yè)面。

          2.讓Jetspeed中的所有頁(yè)面中文化
          上個(gè)步驟只是讓Jetspeed支持中文本地化,指的是Jetspeed中采用國(guó)際化技術(shù)制作的頁(yè)面可以正常顯示中文。
          但是并非所有的Jetspeed內(nèi)部頁(yè)面都已經(jīng)采用國(guó)際化進(jìn)行處理。我們需要將所有Jetspeed內(nèi)部已經(jīng)制作好的頁(yè)面模板,包括采用JSP技術(shù)制作的jsp頁(yè)面和采用Velocity制作的vm模板,進(jìn)行國(guó)際化處理。就是說,我們需要將這些頁(yè)面模板中的靜態(tài)英文字符串采用國(guó)際化技術(shù)對(duì)其進(jìn)行封裝。
          具體技術(shù)如下:
          ---------------------------
          JSP頁(yè)面:
          頁(yè)面中確保加入了:

          將靜態(tài)英文字符串替換為
          在默認(rèn)本地化屬性文件JetspeedLocalization.properties文件中加入:
          key_name=原來(lái)的英文字符串
          在中文本地化屬性文件JetspeedLocalization_zh.properties文件中加入:
          key_name=英文字符串的漢語(yǔ)翻譯

          ---------------------------
          VM模板:
          將靜態(tài)英文字符串替換為$l10n.key_name
          在默認(rèn)本地化屬性文件JetspeedLocalization.properties文件中加入:
          key_name=原來(lái)的英文字符串
          在中文本地化屬性文件JetspeedLocalization_zh.properties文件中加入:
          key_name=英文字符串的漢語(yǔ)翻譯

          注意:
          (1)JetspeedLocalization_zh.properties文件中的值必須通過native2ascii轉(zhuǎn)碼,而不是直接寫入中文。
          (2)所有屬性文件中的key_name不得重復(fù)出現(xiàn)。

          3.Jetspeed注冊(cè)文件的漢化
          這些注冊(cè)文件包括Jetspeed的實(shí)體注冊(cè)文件(*.xreg)和Jetspeed站點(diǎn)結(jié)構(gòu)描述文件(*.psml)。這些文件的漢化將影響到Jetspeed最終顯示頁(yè)面中的標(biāo)題和可選擇資源名稱的顯示。
          很簡(jiǎn)單:將這些文件的編碼格式改為GBK,然后就可以大肆修改文件中的標(biāo)題、描述等字符串。注意千萬(wàn)不要直接改動(dòng)關(guān)鍵字段,如名稱、id號(hào)之類的。
          這部分的修改涉及到Jetspeed中的具體資源,要謹(jǐn)慎修改,建議先熟悉其深刻含義。
          (轉(zhuǎn)載文章請(qǐng)保留出處:Java家(www.javajia.com))
          主站蜘蛛池模板: 揭东县| 汕尾市| 栖霞市| 平罗县| 贵德县| 枣阳市| 阿尔山市| 佛山市| 墨脱县| 三门县| 永定县| 台江县| 六盘水市| 英超| 二连浩特市| 乌审旗| 东乌珠穆沁旗| 监利县| 江阴市| 大同市| 元阳县| 雷州市| 甘南县| 同德县| 周口市| 凌源市| 定结县| 福州市| 皮山县| 花垣县| 香港 | 光泽县| 甘谷县| 武汉市| 顺义区| 金坛市| 德庆县| 开阳县| 屯门区| 精河县| SHOW|