做中文繁体的网站可以通过js语言包去做简体到繁体的切换,不用像中文转英文怕用插件机翻让人摸不着头脑,下面介绍一下具体实现方法:
这里用的是Thinkphp框架
在通用控制器HomeController.class.php中保存一个cookie记录当前的语言,
?ph
function__construct(){
parent::__construct();
$zh_web_lang=array();
$lang=cookie('zh_web_lang');
//谁放在前面,谁为默认的显示。
if($lang==jianti){
$zh_web_lang['hreflang']=s;
$zh_web_lang['atuolang']=t;
$zh_web_lang['lang']=fanti;
$zh_web_lang['html']=简体中文;
}else{
$zh_web_lang['hreflang']=t;
$zh_web_lang['atuolang']=s;
$zh_web_lang['lang']=jianti;
$zh_web_lang['html']=繁體中文;
}
$this-assign('zh_web_lang',$zh_web_lang);//输出默认语言
}
2创建一个方法用于切换cookie
?ph
publicfunctiontrunlang(){
if(IS_POST){
$lang=cookie('zh_web_lang');
if($lang==jianti){
cookie('zh_web_lang','fanti');
}else{
cookie('zh_web_lang','jianti');
}
}else{
$this-redirect('Index/index');
}
}
3.在前端文件中用js去切换语言
ahref=javascript:zh_lang('{$zh_web_lang.hreflang}');id=zh_lang
data-lang={$zh_web_lang.lang}{$zh_web_lang.html}
/a
scripttype=text/javascriptsrc=/Public/js/lang.js?v=2/script
scripttype=text/javascript
//简体繁體中文切换
functionzh_lang(go){
$.ajax({url:{:U('Index/trunlang')},
type:POST,
cache:false,
success:function(){
vartran_a=$('#zh_lang');
if(tran_a.attr(data-lang)==fanti){
//转换成简体
tran_a.attr(href,javascript:zh_lang('t'););
tran_a.attr(data-lang,'jianti');
tran_a.html('繁體中文');
}else{
//转换成繁體
tran_a.attr(href,javascript:zh_lang('s'););
tran_a.attr(data-lang,'fanti');
tran_a.html('简体中文');
}
zh_tran(go);
}
});
}
window.onload=$(function(){
zh_tran({$zh_web_lang.atuolang});
});
/script
上面的引入的js文件如下
https://github.com/Irrelon/jquery-lang-js
如果简体和繁体的切换标识需要分开的,可以把上面的a标签修改成下面的即可
iclass={:$zh_web_lang['atuolang']=='s'?'on':''}a
ifcondition=$zh_web_lang['atuolang']eq't'href=javascript:zh_lang('{$zh_web_lang.hreflang}','j');/if
class=zh_langdata-lang={$zh_web_lang.lang}{$Think.lang.Zh-cn}/a
/li
iclass={:$zh_web_lang['atuolang']=='t'?'on':''}a
ifcondition=$zh_web_lang['atuolang']eq's'href=javascript:zh_lang('{$zh_web_lang.hreflang}','f');/if
class=zh_langdata-lang={$zh_web_lang.lang}{$Think.lang.Tw-cn}/a
/li
这样就能实现全站文字简体转成繁体,缺点就是图上的文字要单独切成文字,不能做成和图片一体的,还有就是个别文字会出现没有转译,还是简体的情况,但是作为同种同源的字体大部分人还是能看懂。优点就是不用做两个后台对资料进行两次输入还是比较方便的,不像中文转译英文,后台录入比用插件好,最起码意思不会乱,搞得别人看不懂。
1.下面是简体的效果:
2.点击切换效果: