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 中的具体资源,要谨慎修改,建议先熟悉其深刻含义。
本文教会大家怎么样汉化 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 中的具体资源,要谨慎修改,建议先熟悉其深刻含义。