【原创】DESTOON作中英双语言(多语言)切换版本具体详解

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

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

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

DT自己不自带多语言切换功能,可是强大的DT能够切换默认语言和默认模板的。网站

首先登录后台ui

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

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

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

下面开始傻瓜式的教程:教程

    在根目录下找到:开发

        【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了!!!!

<?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);

  这样就能够实现中英文切换了!!!!

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

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

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

没有办法个人小伙伴!!

说没有办法那是假的!

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

相关文章
相关标签/搜索