研究VtigerCRM时,试图把繁体语言插件转成简体版,并去除对iconv的依赖,因为很多php空间不支持;研究过GB2312,Big5,UTF-8之间的转化方法。后来就扔到了一边,最近有多个朋友询问解决方案,于是重新找出来贡献给大家;
本人对php所知不多,即使偶尔修改些php的网页也是摸索着查资料来实现,望php行家莫见笑。
这个方案的特点就是使用简单,只要在需要调用转换函数的页面加入include_once'language.inc',就可以方便使用函数了。
关于使用方法就附上我当初转语言插件的代码:
<?php
    
function dirtree($path="."
    {
        
include_once 'language.inc';
        
$d = dir($path); 
        
while(false !== ($v = $d->read()))
        { 
            
if($v == "." || $v == ".."
                
continue
            
$file = $d->path."/".$v
            
if(is_dir($file)) 
            { 
                
//echo "$v"; 
                dirtree($file); 
            } 
            
else 
                
echo $file."\n";
                
//rename($file,str_replace('zh_tw','zh_cn',$file));
                //$filename='zh_cn.lang.php';                

                $fd=fopen($file,'r');                
                
$contents = fread($fd, filesize($file));                
                
$contents=u2b($contents);
                
$contents=b2g($contents);
                
//echo $contents;
                $contents=str_replace('日','日历',$contents);
                
$contents=g2u($contents);
                
$contents=str_replace('Trade chinese language pack created by METO, Inc. http://www.meto.com.tw','Simple chinese language pack created by Steed Soft Technology, Inc. http://www.steedsoft.com',$contents);

                
fclose($fd);
                
$fd=fopen(str_replace('zh_tw/','zh_cn/',str_replace('zh_tw','zh_cn',$file)),'w');
                
fwrite($fd,$contents);
                
fclose($fd);
                
//rename($file,str_replace('zh_tw','zh_cn',$file));                
        }
         
$d->close(); 
         
//echo " "; 
     } 
     dirtree(
"zh_tw"); 
 
?>

 

下载地址
也可以登陆该网页下载:http://www.layman.5gigs.com/download/(还要些别的好东西等着你)

P.S
该方案的缺点,因为繁体中文和简体中文存在一定的词法不一致的情况,因此会发现有些词无法转换,我从网上找到了两个处理该问题的dat文件,但具体实现我没有做,以后也许会抽时间研究下并做个更新。

posted on 2006-02-11 09:52  RubyPDF  阅读(3158)  评论(0编辑  收藏  举报