PHP網(wǎng)站做簡體繁體英文切換功能-多語言版本

2023-02-08    分類: 網(wǎng)站建設(shè)

一般網(wǎng)站如果要做多語言版本的話,中文簡體和繁體的互相轉(zhuǎn)換,因?yàn)橹形拿總€(gè)單詞都是獨(dú)立的我們可以用一個(gè)js的插件來進(jìn)行轉(zhuǎn)換,中英文互相轉(zhuǎn)換,一般都是通過單獨(dú)后臺編輯文字,因?yàn)闄C(jī)器翻譯的實(shí)在讓人不得其解,相信大家都看過機(jī)器翻譯的字幕,是真的不知所云,那有沒有這樣的翻譯,比較靠譜的就是谷歌翻譯,就是我們在谷歌瀏覽器里訪問英文網(wǎng)站,可以右鍵有翻譯中文的選項(xiàng)。


翻譯后效果圖:
現(xiàn)在我們介紹一下中文簡體轉(zhuǎn)繁體的
這里用到一個(gè)js插件
lang.js.rar
在通用控制器HomeController.class.php中
<?php
function__construct(){
parent::__construct();
$zh_web_lang=array();
$lang=cookie('zh_web_lang');
//誰放在前面,誰為默認(rèn)的顯示。
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);//輸出默認(rèn)語言
}
IndexController.class.php中用于切換cookie
<?php
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');
}
}
在頁面的切換點(diǎn)中,html的頭部文件
<ahref="javascript:zh_lang('{$zh_web_lang.hreflang}');"id="zh_lang"
data-lang="{$zh_web_lang.lang}">{$zh_web_lang.html}
</a>
<scripttype="text/javascript"src="/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"){
//轉(zhuǎn)換成簡體
tran_a.attr("href","javascript:zh_lang('t');");
tran_a.attr("data-lang",'jianti');
tran_a.html('繁體中文');
}else{
//轉(zhuǎn)換成繁體
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>
如果簡體和繁體的切換標(biāo)識需要分開的,可以把上面的a標(biāo)簽修改成下面的即可
<liclass="{:$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_lang"data-lang="{$zh_web_lang.lang}">{$Think.lang.Zh-cn}</a>
</li>
<liclass="{:$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_lang"data-lang="{$zh_web_lang.lang}">{$Think.lang.Tw-cn}</a>
</li>
第二種是谷歌翻譯:
<selectonchange="doGTranslate(this);"><optionvalue="">SelectLanguage</option><optionvalue="en|af">Afrikaans</option><optionvalue="en|sq">Albanian</option><optionvalue="en|ar">Arabic</option><optionvalue="en|hy">Armenian</option><optionvalue="en|az">Azerbaijani</option><optionvalue="en|eu">Basque</option><optionvalue="en|be">Belarusian</option><optionvalue="en|bg">Bulgarian</option><optionvalue="en|ca">Catalan</option><optionvalue="en|zh-CN">Chinese(Simplified)</option><optionvalue="en|zh-TW">Chinese(Traditional)</option><optionvalue="en|hr">Croatian</option><optionvalue="en|cs">Czech</option><optionvalue="en|da">Danish</option><optionvalue="en|nl">Dutch</option><optionvalue="en|en">English</option><optionvalue="en|et">Estonian</option><optionvalue="en|tl">Filipino</option><optionvalue="en|fi">Finnish</option><optionvalue="en|fr">French</option><optionvalue="en|gl">Galician</option><optionvalue="en|ka">Georgian</option><optionvalue="en|de">German</option><optionvalue="en|el">Greek</option><optionvalue="en|ht">HaitianCreole</option><optionvalue="en|iw">Hebrew</option><optionvalue="en|hi">Hindi</option><optionvalue="en|hu">Hungarian</option><optionvalue="en|is">Icelandic</option><optionvalue="en|id">Indonesian</option><optionvalue="en|ga">Irish</option><optionvalue="en|it">Italian</option><optionvalue="en|ja">Japanese</option><optionvalue="en|ko">Korean</option><optionvalue="en|lv">Latvian</option><optionvalue="en|lt">Lithuanian</option><optionvalue="en|mk">Macedonian</option><optionvalue="en|ms">Malay</option><optionvalue="en|mt">Maltese</option><optionvalue="en|no">Norwegian</option><optionvalue="en|fa">Persian</option><optionvalue="en|pl">Polish</option><optionvalue="en|pt">Portuguese</option><optionvalue="en|ro">Romanian</option><optionvalue="en|ru">Russian</option><optionvalue="en|sr">Serbian</option><optionvalue="en|sk">Slovak</option><optionvalue="en|sl">Slovenian</option><optionvalue="en|es">Spanish</option><optionvalue="en|sw">Swahili</option><optionvalue="en|sv">Swedish</option><optionvalue="en|th">Thai</option><optionvalue="en|tr">Turkish</option><optionvalue="en|uk">Ukrainian</option><optionvalue="en|ur">Urdu</option><optionvalue="en|vi">Vietnamese</option><optionvalue="en|cy">Welsh</option><optionvalue="en|yi">Yiddish</option></select><divid="google_translate_element2"></div>
<scripttype="text/javascript">
functiongoogleTranslateElementInit2(){newgoogle.translate.TranslateElement({pageLanguage:'en',autoDisplay:false},'google_translate_element2');}
</script>
</script><scripttype="text/javascript"src="https://translate.google.cn/translate_a/element.js?&cb=googleTranslateElementInit2"></script>
<scripttype="text/javascript">
/*<![CDATA[*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){returnr[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(newRegExp('\\b'+e(c)+'\\b','g'),k[c]);returnp}('67(a,b){n{4(2.9){3c=2.9("o");c.p(b,f,f);a.q(c)}g{3c=2.r();a.s(\'t\'+b,c)}}u(e){}}6h(a){4(a.8)a=a.8;4(a==\'\')v;3b=a.w(\'|\')[1];3c;3d=2.x(\'y\');z(3i=0;i<d.5;i++)4(d[i].A==\'B-C-D\')c=d[i];4(2.j(\'k\')==E||2.j(\'k\').l.5==0||c.5==0||c.l.5==0){F(6(){h(a)},G)}g{c.8=b;7(c,\'m\');7(c,\'m\')}}',43,43,'||document|var|if|length|function|GTranslateFireEvent|value|createEvent||||||true|else|doGTranslate||getElementById|google_translate_element2|innerHTML|change|try|HTMLEvents|initEvent|dispatchEvent|createEventObject|fireEvent|on|catch|return|split|getElementsByTagName|select|for|className|goog|te|combo|null|setTimeout|500'.split('|'),0,{}))
functiondelCookie(name){
varDays=30;
varexp=newDate();
exp.setTime(exp.getTime()-Days*24*60*60*30);
//這里一定要注意,如果直接訪問ip的話,不用注明域名domain
//但訪問的是域名例如www.baidu.com時(shí),翻譯插件的cookie同時(shí)存在于一級和二級域名中
//即刪除翻譯cookie時(shí)要把domain=www.baidu.com和domain=.baidu.com兩個(gè)cookie一起刪除才行
vardomain=document.domain;
vardomainIsIp=false;
vardd=domain.split(".");
if(dd.length==4){
domainIsIp=true;
}
document.cookie=name+"='';path=/;expires="+exp.toUTCString();
if(domainIsIp==false){
domain="."+dd[1]+"."+dd[2];
document.cookie=name+"='';domain="+domain+";expires="+exp.toGMTString()+";path=/";
}

名稱欄目:PHP網(wǎng)站做簡體繁體英文切換功能-多語言版本
分享網(wǎng)址:http://www.bm7419.com/news15/236015.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、定制開發(fā)、網(wǎng)站導(dǎo)航企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)