全站搜索

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

网站开发 319

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

上一篇: 下一篇:

相关推荐

  • 做淘宝客户关键词优化步骤详解

    256

      淘宝经营过程当中想要有更高的人气,网站优化是非常重要的部分,那么想要让淘宝客户关键词优化效果最好的话,一定要注重关键词的热度,在淘宝当中什么关键词有热度就要去穿插什么关键词,这样才会有更好的效果。      而且关键词的使用一定要有...

    查看全文
  • 网页设计中的极简主义

    340

    这几年,许多设计趋势逐渐成为主流,其中极简风设计最为突出,在设计界占据一席之地,无论是在UI设计、家装设计,建筑、艺术、摄影、音乐甚至食物,极简主义正在被越来越多的领域所接纳,其核心的特征是简约而富有意义。  极简主义起始于二战后的艺术运动,极...

    查看全文
  • 试试这6个网页设计技巧,网页一秒变精致

    252

    本篇文章就向大家分享一些自己商业设计过程中积累的一些小经验,可能文字有些杂碎。随着体验设计的持续发展,行业各领域的体验设计质量都有很大的提升,界面设计的质量不仅是各个大厂产品体验设计的追求,也是我们拉开竞品差距的关键一环,大家平时可能会阅读一些设...

    查看全文
  • 如何解释同行业企业官网趋同化的现象?

    314

    我们不妨比较一下小米和华为的企业官网,白色的底色,顶部导航,实体UI,这是相似处。我们不妨比较一下格力和海尔的企业商城,拟物化UI设计、导航一级分类、网站布局,也有相似之处。我们再不妨比较一下三一和山推的企业商城,在网站配色、UI、布局等方面,也有相似...

    查看全文
展开更多