全站搜索

PHP通过js做简体和繁体切换

网站开发 409

做中文繁体的网站可以通过js语言包去做简体到繁体的切换,不用像中文转英文怕用插件机翻让人摸不着头脑,下面介绍一下具体实现方法:

这里用的是Thinkphp框架

在通用控制器HomeController.class.php中 保存一个cookie 记录当前的语言,

<?php

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

 

<?php

public function trunlang() {

    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去切换语言

<a href=”javascript:zh_lang(‘{$zh_web_lang.hreflang}’);” id=”zh_lang”

   data-lang=”{$zh_web_lang.lang}”>{$zh_web_lang.html}

</a>

<script type=”text/javascript” src=”/Public/js/lang.js?v=2″></script>

<script type=”text/javascript”>

    
// 简体繁體中文切换

    function zh_lang(go) {

        $.ajax({ url: “{:U(‘Index/trunlang’)}”,

            type: “POST”,

            cache: false,

            success: function () {

                var tran_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标签修改成下面的即可

 

<li class=”{:$zh_web_lang[‘atuolang’]==’s’?’on’:”}”>

    <a

    <if condition=”$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>

<li class=”{:$zh_web_lang[‘atuolang’]==’t’?’on’:”}”>

    <a

    <if condition=”$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>

 

 

这样就能实现全站文字简体转成繁体,缺点就是图上的文字要单独切成文字,不能做成和图片一体的,还有就是个别文字会出现没有转译,还是简体的情况,但是作为同种同源的字体大部分人还是能看懂。优点就是不用做两个后台对资料进行两次输入还是比较方便的,不像中文转译英文,后台录入比用插件好,最起码意思不会乱,搞得别人看不懂。

1.下面是简体的效果:

2. 点击切换效果:

  • 切换页面依然保持着繁体效果,以前介绍过通过谷歌插件中文切换英文也是通过js实现的,每次切换页面都收从中文变成英文体验不好。还有一种通过接口去翻译后台输出的每一句文字,可以解决这个问题,比较麻烦。

  • 转英文具体可以:https://gtranslate.io/#pricing 可以在这里了解相关的介绍

上一篇: 下一篇:

相关推荐

  • 浅谈四叶电子网站改版的见解

    606

         随着互联网的不断普及和技术提升,现在的人们从互联网上了解公司基本信息最直接的方式莫过于企业官方网站了,然而现在的人们随着审美的提高和公司的发展定位,很多企业的网站想把网站设计的更符合现代的潮流和企业的形象,企业的官方网站就需要...

    查看全文
  • 如何把交互融入设计,让网站设计更出彩

    382

    大厂的设计越来越多的细节设计都加入了交互效果,从细节上增加和用户的互动,不仅仅让设计活了起来,也让用户在浏览的同时不是鼓噪的看文字,增加了有趣的浏览。这个不仅仅是简单加上交互的思考,在拓展上来说,这背后也是通过思考结合现在大部分用户的浏览习惯和视...

    查看全文
  • 「哈尔滨SEO优化公司」网站优化写文章要保持良好的心态

    372

      不论是谁,在进行网站优化的过程中,总是想要尽快达到良好的效果,但是有的时候优化是需要一定的耐心的,它并不是在短暂的时间内,就能够让自己获得成功,所以这些事情还是值得自己注意的。      在网站优化的时候,一定要注意有关的方法与技巧...

    查看全文
  • 逐渐没落的B2B网站 网站重做方向有哪些?

    352

    B2B的盈利模式建立在“信息不对称”的基础上。随着直播、社交的普遍应用,信息对称成为了大势。作为信息中介的B2B网站势必在逐渐没落。 举一个简单的例子:当客户想要购买一台挖掘机,通过B2B平台可以找到各类挖掘机厂家的联系方式和报价。但是现在,客户可以直接找到...

    查看全文
展开更多