一、Thinkphp多语言翻译
首先在Common/conf/config.php文件中写入如下内容:<?php
returnarray(
//'配置项'=>'配置值'
//语言包配置
'LANG_SWITCH_ON'=>true,//开启语言包功能
'LANG_AUTO_DETECT'=>true,//自动侦测语言开启多语言功能后有效
'LANG_LIST'=>'zh-cn,en-us,zh-tw',//必须写可允许的语言列表
'VAR_LANGUAGE'=>'l',//默认语言切换变量
);
?>
然后在Common/conf文件夹下新建一个tags.php文件,写入内容:<?php
/**
*语言包配置文件
*/
returnarray(
//添加下面一行定义即可
'app_begin'=>array('Behavior\CheckLangBehavior'),
);
?>
当然还要写入自己的语言包文件,在Think/Lang/下面有四个语言包文件,你可以在这四个或新建语言包文都可以,或者你在模块下面新建一个Lang文件夹,比如Home/Lang,在下面新增zh-cn.php,en-us.php等等语言包文件。简体中文语言包可以这样写如下:<?php
/**
*简体中文语言包
*/
returnarray(
'_Login'=>"登录",
);
英文语言包可以这样写如下:<?php
/**
*英文语言包
*/
returnarray(
'_Login'=>"Login",
);
然后随便在一个页面,写入如下内容:{$Think.lang._Login}
最后在浏览器访问该页面,即可看到,比如在地址栏输入如下URL:http://localhost/index.php?l=zh-cn
http://localhost/index.php?l=en-us
这样就可以看到中英文切换了,大家可以自己试一试。
二、使用百度翻译
我这里说的百度翻译并不是在/这个网址中输入内容点击翻译这样的,这里我是以代码的形式利用CURL进行翻译的。
翻译文件放在/Home/Common/function.php中,内容如下:<?php
classTranslate{
/**
*支持的语种
*@varArrayAccess
*/
static$Lang=Array(
'auto'=>'自动检测',
'en'=>'英语',
'zh'=>'中文',
'cht'=>'中文繁体',
);
/**
*获取支持的语种
*@returnarray返回支持的语种
*/
staticfunctiongetLang(){
returnself::$Lang;
}
/**
*执行文本翻译
*@paramstring$text要翻译的文本
*@paramstring$from原语言语种默认:中文
*@paramstring$to目标语种默认:英文
*@returnbooleanstring翻译失败:false翻译成功:翻译结果
*/
staticfunctionexec($text,$from='zh',$to='en'){
$url="/v2transapi";
$data=array(
'from'=>$from,
'to'=>$to,
'query'=>$text
);
$data=http_build_query($data);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_REFERER,"");
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1;rv:37.0)Gecko/0101Firefox/37.0');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
$result=curl_exec($ch);
curl_close($ch);
$result=json_decode($result,true);
//出错状态码999
if($result['error']){
returnfalse;
}
return$result['trans_result']['data']['0']['dst'];
}
}
?>
大家可以根据自己的需求对其进行修改。echoTranslate::exec("大家好","zh",“en”);//这里输出是:Helloeveryone
这样就翻译成功了。
希望对大家有所帮助!!!