当前位置: 首页> 腾云互助> 正文

destoon做中英双语言切换版本详解

在开发过程中用户有许多要求,比如这个多语言切换就是一个需求。

首先讲解一下destoon(DT)后台系统如何做这个中英、甚至多语言切换的这个功能。

DT本身不自带多语言切换功能,但是强大的DT可以切换默认语言和默认模板的。

首先登陆后台

      系统设置中-》网站设置-》SEO优化-》网站生成html-》关闭

这样在切换模板的时候就不用手动在后台生成页面了。

思路是利用默认模板和默认语言的切换,调用后台底层的php文件,动态生成多语言的页面。

下面开始傻瓜式的教程:

    在根目录下找到:

        【lang】--》找到【zh-cn】--复制【zh-cn】并改名为【en】--》将【en】里面文件的中文全部翻译成英文的(各种词典各种查啊!!!)

    第二步:

        根目录--》找到【template】(就是放模板的文件夹)--》将【default】复制一份并改名为【English】

这样就有两套模板了,你可以去后台系统设置--》网站设置中看一下【默认语言】和【默认模板】两个下拉列表是否出现了【en】和【English】选项,有请往下看,若没有请回到本文头部睁大你的眼珠子再跟着我做一遍!!!!!!

ok!恭喜你来到了这里。

原理就是把后台的选择语言这个功能搬到前台去

首先在前台写一个a标记

      <a href=" {DT_STATIC}changelang.php?language=en&template=english">切换为英文版</a>

然后在根目录下新建php文件,直接复制我这段话进去就ok了!!!!

<?phprequire 'common.inc.php';if ($_GET) { $language = isset($_GET['language']) ? $_GET['language'] : ''; $template = isset($_GET["template"]) ? $_GET["template"] : ''; if ($language != '' && $template != '') { $config=array("language"=>$language,"template"=>$template); $CFG["language"] = $language; $CFG["template"] = $template; if(!is_write(DT_ROOT.'/config.inc.php')) msg('根目录config.inc.php无法写入,请设置可写权限'); $tmp = file_get(DT_ROOT.'/config.inc.php'); foreach($config as $k=>$v) { $tmp = preg_replace("/[$]CFG\['$k'\]\s*\=\s*[\"'].*?[\"']/is", "\$CFG['$k'] = '$v'", $tmp); } file_put(DT_ROOT.'/config.inc.php', $tmp); tohtml('index'); }}header("location:".DT_STATIC);

  这样就可以实现中英文切换了!!!!