?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))
本文教會(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))