全站搜索

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

网站开发 408

做中文繁体的网站可以通过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 可以在这里了解相关的介绍

上一篇: 下一篇:

相关推荐

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

    371

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

    查看全文
  • 「搜狗官方网站」网站优化过程中尽量不要做整站更换

    344

      这一到年底,随着我们时代观念都在慢慢的变化,导致很多老旧的网站已经不入流了,这个时候我们要做的就是选择改版或是换网站等,那么前几年的心血不就浪费了,所以对于这样的问题,今天玢锐云小编给大家分享下!一定要做以下操作:      一、如无必...

    查看全文
  • 英文手机网站的优化方法与技巧?seo关键词排名优化哪家好?

    668

      网络当中一般使用英文手机网站的大多都是外贸公司,那么这些网站也需要进行优化,才能够促使企业的销售量提高,那么英文网站进行网站优化的话,也需要方法和技巧,但是大致方向与中文网站相同,所以掌握好方法就能够有很好的优化效果。      因...

    查看全文
  • 网站、公众号中的常青内容浅析

    406

    文章,是网站、公众号、自媒体账号中,必不可少的内容,内容也是成功运营网站、公众号和自媒体的核心。就内容而言,可以分为长青内容和时效内容两类。   什么是常青内容? 所谓常青内容,指的是在三五年内,依然有用户去点击和阅读的内容。其与时效内容相反,...

    查看全文
展开更多