serendipity是一款比较新的PHP+mysql博客程序,国内于七月下旬出现首款汉化版,是在slender的成果,我试用了一下。但这个汉化版本不是最新版,作者也没有谈到是怎么汉化的。如果你喜欢追新,那只有自己动手汉化了,当然最好是在slender的基础上。
一、一般汉化方法
主体汉化不是很复杂。其安装文件夹下有个lang文件夹,其中有四个语言文件。最简单的办法就是直接修改serendipity_lang_en.inc.php(英文的语言文件),变量定义直接翻译。不过这样有个缺点,就没有英文版了。还有一个文件要汉化,即serendipity_config_local.tpl,这是安装模板文件,汉化后实现中文化安装。slender好象是这样汉化的。
二、我的汉化建议
1、主体语言文件汉化。复制serendipity_lang_en.inc.php,更改为serendipity_lang_cn.inc.php,汉化该文件,或者直接用slender的汉化文件改名。
2、修改serendipity_lang.inc.php文件,使系统认识新增简体中文语言文件。查找$supported_languages = array('en', 'da', 'de', 'es'),更改为$supported_languages = array('en', 'da', 'de', 'es', 'cn'),其中cn为语言文件名中的标志字符,由语言文件名决定。
3、修改serendipity_config_local.tpl文件,增加语言下拉菜单选项。查找$serendipity['lang'] = '{语言|lang|list|en=>English,de=>German,da=>Danish,es=>Spanish}';更改为$serendipity['lang'] = '{语言|lang|list|en=>English,de=>German,da=>Danish,es=>Spanish,cn=>
chinese gb2312}'。
4、serendipity_config_local.tpl文件修改后,复制一个,一个取名为serendipity_config_local_en.tpl,作为英文版的模板;一个重命名为serendipity_config_local_cn.tpl,作为中文版的模板。再汉化serendipity_config_local_cn.tpl文件,或者直接用slender的汉化文件改名。
5、修改serendipity_lang.inc.php文件,初始汉化安装。查找@include_once(S9Y_INCLUDE_PATH .'lang/serendipity_lang_en.inc.php'),修改为@include_once(S9Y_INCLUDE_PATH .'lang/serendipity_lang_cn.inc.php')。
6、汉化插件。slender提供的版权没有汉化插件。插件的汉化任务重一些,在plugins文件夹下的相关文件夹中有几十个文件要分别汉化。我采用的方法是在语言判断中增加case 'cn',并将en下定义常量的代码复制到cn下,再分别汉化。
三、关于bug的修正
1、安装后进入首页,如果出现以下类似警告:Warning: main(serendipity_config.inc.php): failed to open stream: No such file or directory in xxx\serendipity\templates\default\layout.php on line 11, Warning: main(): Failed opening 'serendipity_config.inc.php' for inclusion (include_path=xxxxxx') in xxx\serendipity\templates\default\layout.php on line 11
修正方法:修改templates\default\layout.php文件,查找include_once('serendipity_config.inc.php'),修改为include_once(S9Y_INCLUDE_PATH .'serendipity_config.inc.php'),因为其包含文件的路径不正确。当然也可以修改php.ini中的include路径。
如果更换为其它模板后出现类似警告,请修改该模板文件夹内的相应文件,修改方法类似。
2、中文搜索问题。具体修改方法请参见redarmy发表在官方论坛上的解决方案。
四、源码下载
如果你有兴趣,请下载试用,并欢迎提出意见或建议。