DESTOON做中英双语言(多语言)切换版本具体详解

发布时间 2023-10-02 22:33:45作者: 麒麟速排

第一次发原创好激动,该注意点什么?

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

首先讲解一下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了!!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
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);

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

    但是!!!!这样子有个致命的缺陷!!!!!!!

那就是你后台录入信息的语言不会随着更改语言而更改,加入录入商品信息是中文的,你切换到英文版,商品信息还是中文的。

那么就会有小伙伴问我了,那怎么才能做到录入的信息也是英文的呢??

没有办法我的小伙伴!!

说没有办法那是假的!

申请两个域名啊,两套系统啊,搞起来啊~~~录入两次啊

 

攻略大全-第7页-攻略-9335游戏网