phpBB 2论坛软件的汉化及应用[1]

[入库:2005年8月19日] [更新:2007年3月25日]

本文简介:选择自 ostg_cn 的 blog

[摘要] 在论坛软件多样化的今天,要选择一个功能强大、使用简单的软件,phpbb 2应该是个很好的选择。phpbb 2作为一种典型的论坛软件,支持多语言化,且还是开放源代码。但由于原版软件的界面是英文,为了此论坛软件适合在国内应用,笔者对此软件进行全面汉化。本文首先是阐述软件汉化的一些概念和问题;其次,对phpbb 2的模块和功能进行分析,使其能达到更好的汉化效果;最后,是phpbb 2在公司intranet网上的应用,并结合了公司科学技术方面的交流,建立一个适合科技人员的论坛-科技学术论坛,同时分别在mysql和ms sql数据库中应用。
关键词: phpbb 2  软件汉化  php  论坛  模块


汉化软件在网络中多如牛毛,汉化也促进了我国计算机用户对国外优秀软件的了解和认识,提高了我们的效率;而对于那些作者们来说,则是一种学习先进软件思想的捷径。 汉化只是一种手段,我们需要的并不是汉化软件,而是以后能开发出更多优秀的国内软件。
论坛软件多样化的今天,在网络中的应用也相当多,phpbb 2作为一位异军突起的后来者,具有功能强大、使用简单、兼容性好、支持多语言化等特点,但目前不支持中文,如果使该软件支持中文并应用,需要对软件的语言模块进行汉化。本文主要探讨的是软件汉化的概念和问题以及phpbb 2的汉化,结合集团公司科学技术方面的交流,建立一个适合科技人员的论坛-科技学术论坛,并且分别在mysql和ms sql数据库中应用。
汉化环境:操作系统windows 2000,编辑器editplus 2.11,翻译软件金山词霸.net 中日英版。
应用环境:操作系统windows 2000,web环境apache 1.3.22+php 4.1.1,数据库服务器mysql 3.23.47和microsoft sql server 2000。

1 phpbb 2软件简介
phpbb 2是一个论坛软件,使用php网络语言开发的。php(php hypertext preprocesser的首字母缩写)作为目前网络语言的一个佼佼者,特点为:是一种在服务器端执行的脚本语言,可以很好地和html融合,产生需要的文档;与大多脚本语言或编程语言(perl、python)一样,都是与平台无关,且是开放源代码;php是专门为web设计,在这领域非常优秀;支持多种数据库,包括常用的oracle、sybase、ms sql、informix、mysql、msql等等。
phpbb 2是基于模块化设计,具有专业性质、安全性高、支持多语言界面、支持多种数据库和自定义的版面设计等优越性能,而且功能强大。另外,还是开放源代码,遵循《gnu通用公共许可证》。
主要支持的数据库有mysql、postgresql、ms sql、ms access (odbc)、oracle、db2等,主要的功能有无限制的论坛类及帖子、类似email的私人消息通信系统、搜索、表情图形、个性化设置、用户及用户组管理、安全管理及友好的管理中心等等,是目前论坛软件的一种主流模式,适合于各种论坛。

2 关于软件汉化
2.1 软件汉化的定义
软件汉化是指一个外文版的软件(或绝大部分是外文)经过一系列本地化的技术处理后,把操作界面(如: 菜单、对话框、提示、帮助等)翻译成中文,而程序内核和功能保持不变。
由于php语言是一种解释性语言,在执行之前不用通过编译器编译,如需要汉化的话,则要直接获取源代码,当然php语言开发的软件很多是开放源代码的,所以汉化过程是直接通过对源程序中的文字进行翻译,不同于经过编译的可执行程序(一般不开放源代码)的汉化。因此,phpbb 2的汉化是对源代码中的整个语言模块的翻译。
2.2 软件汉化的工具及方法
汉化工具主要包括编辑器和翻译软件(金山词霸、东方快车等)。
可执行程序的汉化编辑器主要有:
① visual c++ 6.0 用于打开exe、dll、pkg等软件的资源进行汉化;
② ultraedit用于对exe文件进行hex方式修改和汉化后期的修补,主要针对于普通的字符串;
③ exescope用于修改delphi、vb设计的软件的对话框,主要针对于无法使用vc以资源方式打开的程序;
④ patch 1.02 中国软件汉化同盟内部开发工具,用于制作补丁包;当一个软件汉化完毕后,使用它生成汉化补丁,用于发布。
从可执行程序的汉化编辑器中我们可以想到:php软件的汉化也需要一个汉化编辑器。其汉化编辑器主要考虑的因素是具有支持php和html语法、使用简单、项目管理等功能,拥有这些功能的编辑器有ultraedit-32 9.20+(http://www.ultraedit.com)、editplus 2.11(http://www.editplus.com),虽然ultraedit-32 9.20+功能强大,但在支持php语法性能上不如editplus 2.11,editplus 2.11支持的语法主要有:html、css、php、asp、perl、c/c++、java、javascript等,还可以由用户自行扩展程序的语法文件。汉化的编辑器选择了editplus 2.11。
汉化方法主要有:
① 使用自动化工具进行汉化,如cpatch、东方快车的永久汉化;
② 使用手工化工具进行汉化,即直接通过人工翻译;
③ 使用自动与手工合作的方法汉化,如编辑器与翻译软件的结合。
利用editplus把phpbb 2源代码建立成一个项目,此项目中的语言模块可以结合金山词霸进行手工汉化。
2.3 汉化涉及到的法律问题
通过查看软件的协议,获知软件是否限制汉化。但作为普通的应用程序来说,汉化后发布的是原版软件的中文汉化补丁(不改变原版软件的内核和功能),也就是它的一个外挂插件,不属于该软件本身的一部分,并且没有盈利性质,不属于侵权。同时,汉化也不是盗版,汉化完全是独立性质的补丁程序,版权归汉化作者自已。对于phpbb 2这种开放源代码的软件来说,就更涉及不到侵权或盗版问题,只要汉化后的模块遵循《gnu通用公共许可证》,就可以进行发布。
2.4 软件汉化的流程
根据以上几点的论述,针对php(asp、perl)这种脚本语言所开发的软件的汉化过程进行流程化,脚本语言根据软件模块化的特点,一般都将软件的操作界面建立一个独立的语言模块。流程图如图1所示,此图只适应脚本语言开发的软件。

3 phpbb 2软件的汉化

3.1 建立汉化环境和测试环境
在软件汉化的叙述中,曾讲述建立phpbb 2的汉化环境:利用editplus 2.11把phpbb 2源代码建立成一个项目phpbb,此项目中的语言模块可以结合金山词霸进行手工汉化。
因为phpbb 2是在web服务器+php+数据库的环境下运行的,可以选择目前最为流行的apache 1.3.22作为web服务器,php可以选择稳定版本php 4.1.1,数据库服务器为mysql 3.23.47和microsoft sql server 2000。
3.2 phpbb 2软件的模块和功能分析
3.2.1 模块分析
phpbb 2作为一个优秀的论坛软件,需要对其进行汉化,首先要分析软件的各个模块和功能。phpbb 2
采用一种常见的模块分配方式,其基本模块如图2所示。主要有如下说明:
l /─软件的根目录,有数据库连接配置、论坛实现各项功能的脚本及安装说明等。
l /admin/─实现论坛管理的程序,用于论坛的一般设置、权限设置、类别管理、用户管理、风格管理等。
l /db/─数据库类及sql语句,支持多种数据库的类及相应的sql语句,例如支持mysql(mysql.php)、ms sql(mssql.php)、oracle(oracle.php)数据库的类sql_db。
l /docs/─软件的说明文档,软件的常见问与答、更新日志、修复bug日志等。
l /includes/─软件的重用模块,定义了一些常用的函数、类等。
l /images/─公用的图形,即表情图形(smiles)和个人头像(avatars)等图片。
l /language/─各类语言,支持多语言,默认语言是英语(lang_english),还可以建立其他的语言模块,例如:汉语、法语、日语等。

图 1  脚本语言软件的汉化流程图


图 2  phpbb 2软件的基本模块布局

l /templates/─软件界面的风格模板,用户可以自定义风格模板(subsilver)-操作界面模板。
通过这些分析,phpbb 2软件有一个语言文件夹/language/和操作界面的图片文件夹/templates/subsilver/images/,默认语言是英语(/language/lang_english/),所有的语言模块都包含在这两个文件夹中,有六个模块:
l /language/lang_english/lang_admin.php─管理区操作界面。
l /language/lang_english/lang_main.php─普通用户区操作界面。
l /language/lang_english/lang_faq.php─软件的常见问与答。
l /language/lang_english/lang_bbcode.php─bbcode代码指南。
l /language/lang_english/email/*.tpl─消息操作的提示信息。
l /templates/subsilver/images/*_english.gif─含有语言文字的操作界面图片。
phpbb 2语言模块的应用,是通过php脚本调用语言模块,然后与操作界面模板相结合,产生用户需要的html文档, 如图3所示。

 

 


图 3  phpbb 2语言模块的调用
3.2.2 功能分析
为了汉化的合理性、正确性、简明性,对软件进行功能分析是很有必要的,只有了解其功能,才能从专业术语角度上来表述语句,可以根据用户进行的操作来分析。
从权限范围上说,从大到小的顺序,把用户按如下排列:系统管理员à论坛管理组管理员à论坛管理成员à普通用户à游客。上一级用户除了拥有自己的权限外,还包含下一级用户的所有权限。每类用户都拥有自己相关的权限,也就是可以在论坛中进行一些什么样的操作,可以使用哪些功能。对功能的分析,可以按每一级的用户来说明。
(1)普通用户
l 发表/回复主题:可以选择感兴趣的栏目发表主题,也可回复他人的主题,都可以使用bbcode代码、html代码和表情图形,对自己发表的帖子拥有编辑、删除、引用等权利;
l 添加/参与调查:对自己发表的主题增加相关的调查,可获知其他用户对此问题的看法;也可参与其他用户发动的调查;

本文关键:phpBB 2论坛软件的汉化及应用
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top