Open-Open

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

          Jetspeed支持中文本地化

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

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

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

          (2)修改Jetspeed的兩個配置文件
          ---------------------------
          \WEB-INF\conf\TurbineResources.properties
          找到相應的屬性并修改其值:
          #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
          找到相應的屬性并修改其值:
          #template encoding
          template.encoding=UTF-8

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

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

          將靜態英文字符串替換為
          在默認本地化屬性文件JetspeedLocalization.properties文件中加入:
          key_name=原來的英文字符串
          在中文本地化屬性文件JetspeedLocalization_zh.properties文件中加入:
          key_name=英文字符串的漢語翻譯

          ---------------------------
          VM模板:
          將靜態英文字符串替換為$l10n.key_name
          在默認本地化屬性文件JetspeedLocalization.properties文件中加入:
          key_name=原來的英文字符串
          在中文本地化屬性文件JetspeedLocalization_zh.properties文件中加入:
          key_name=英文字符串的漢語翻譯

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

          3.Jetspeed注冊文件的漢化
          這些注冊文件包括Jetspeed的實體注冊文件(*.xreg)和Jetspeed站點結構描述文件(*.psml)。這些文件的漢化將影響到Jetspeed最終顯示頁面中的標題和可選擇資源名稱的顯示。
          很簡單:將這些文件的編碼格式改為GBK,然后就可以大肆修改文件中的標題、描述等字符串。注意千萬不要直接改動關鍵字段,如名稱、id號之類的。
          這部分的修改涉及到Jetspeed中的具體資源,要謹慎修改,建議先熟悉其深刻含義。
          (轉載文章請保留出處:Java家(www.javajia.com))
          主站蜘蛛池模板: 宽甸| 时尚| 子洲县| 兴山县| 高雄县| 渝中区| 章丘市| 英山县| 南皮县| 阿克| 陈巴尔虎旗| 丁青县| 策勒县| 乡宁县| 游戏| 玉门市| 徐闻县| 凤山县| 壤塘县| 合肥市| 盘山县| 楚雄市| 金坛市| 华池县| 慈利县| 黎城县| 河源市| 丰镇市| 北海市| 万全县| 广州市| 乐亭县| 美姑县| 宜兰市| 桐城市| 宣城市| 彭山县| 万宁市| 万州区| 韶关市| 绥宁县|