DESTOON切换中英双语言(多语言)代码修改

admin|
412

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

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

    首先登陆后台

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

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

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

    下面开始傻瓜式的教程:

    在根目录下找到:

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

    第二步:

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

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

    ok!恭喜你来到了这里。

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

    首先在前台写一个a标记

    切换为英文版

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

require '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);

这样就可以实现中英文切换了,不过就是你后台录入信息的语言不会随着更改语言而更改,加入录入商品信息是中文的,你切换到英文版,商品信息还是中文的。这种情况下需要添加对应的英文标题和内容字段。