【原创】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了!!!!
<?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);
这样就可以实现中英文切换了!!!!
但是!!!!这样子有个致命的缺陷!!!!!!!
那就是你后台录入信息的语言不会随着更改语言而更改,加入录入商品信息是中文的,你切换到英文版,商品信息还是中文的。
那么就会有小伙伴问我了,那怎么才能做到录入的信息也是英文的呢??
没有办法我的小伙伴!!
说没有办法那是假的!
申请两个域名啊,两套系统啊,搞起来啊~~~录入两次啊
【原创】DESTOON做中英双语言(多语言)切换版本具体详解的更多相关文章
- [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]
[英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War 中文名:战争中的世界 导 演:Ted Childs, ...
- yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog ...
- java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解
java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解 我用的是office word 2016版 XWPFRun是XWPFDocument中的一段文本对象(就是一段文 ...
- Java中JSON字符串与java对象的互换实例详解
这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...
- [转帖]rename(Perl语言版本) 详解
rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- Go语言的GOPATH与工作目录详解
这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOP ...
- [转]js中几种实用的跨域方法原理详解
转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...
- Nginx服务器中配置非80端口的端口转发方法详解
这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...
- 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)
本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...
随机推荐
- Android 网络调试 adb tcpip 开启方法
查看ip地址:adb shell ifconfig 1.连接USB数据线,打开usb调试,使用windows的“运行”命令行方式:(此方法需配置adb环境变量,也可直接进入adb工具目录执行\andr ...
- shell网络管理
背景知识 联网就是通过网络将主机进行互联并采用不同的规范配置网络上的节点.我们以 TCP/IP 作为网络栈,所有的操作都是基于它进行的.网络是计算机系统中重要的部分.连接在网络上的每个节点都分配了一个 ...
- BLE广播数据的抓包解析
前言: 报文由数据字节组成同时是按比特传输的,这就免不了牵涉到字节序的问题. 对于各个字节的传输,总是从最低位开始传输.如0x80是按00000001发送的,0x01是按10000000发送的. 同时 ...
- JAVA web简单的登录界面jsp实现
此次试验所用到的软件是myeclipse10,tomcat7,Dreamweaver,sqlserver2008数据库.可以实现用户使用用户名和密码登录.如果登录成功,页面会显示登录成功,如果密码错误 ...
- I.MX6 mkuserimg.sh 使用
/*********************************************************************** * I.MX6 mkuserimg.sh 使用 * 说 ...
- IJ:IJ来了
ylbtech-IJ:IJ来了 1.返回顶部 1. 2. 2.2. 3. 4. 2.返回顶部 1. 2. 3. 3. Welcome to IntelliJ IDEA返回顶部 1. 2.2. 2.2. ...
- artemplate include
include用于嵌入字模板 {{include 'template_name'}} 子模板 默认共享当前的数据 也可以自己指定数据 {{include 'template_name' templat ...
- 洛谷 P4011 孤岛营救问题【bfs】
注意: 一个点可能有多把钥匙,所以把每个点有钥匙的情况状压一下 两个点之间有障碍的情况只给出了单向,存的时候记得存一下反向 b[i][j]表示当前点拥有钥匙的状态,g[x1][y1][x2][y2]表 ...
- springboot(十)SpringBoot消息中间件RabbitMQ
github地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service 1. ...
- 【SQL】从待选项中随机选一个
由于SQL Server没有数组类型,所以在面对“从若干待选项中选一个”这种需求时,往往要采取变通办法,比如弄个‘a|b|c’这样的字符串然后对字符串进行处理:又或者把待选项塞进一个临时表,然后把问题 ...