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了!!!!
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?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); |
这样就可以实现中英文切换了!!!!
但是!!!!这样子有个致命的缺陷!!!!!!!
那就是你后台录入信息的语言不会随着更改语言而更改,加入录入商品信息是中文的,你切换到英文版,商品信息还是中文的。
那么就会有小伙伴问我了,那怎么才能做到录入的信息也是英文的呢??
没有办法我的小伙伴!!
说没有办法那是假的!
申请两个域名啊,两套系统啊,搞起来啊~~~录入两次啊
DESTOON做中英双语言(多语言)切换版本具体详解的更多相关文章
- 【原创】DESTOON做中英双语言(多语言)切换版本具体详解
第一次发原创好激动,该注意点什么? 在开发过程中用户有许多要求,比如这个多语言切换就是一个需求. 首先讲解一下DESTOON(DT)后台系统如何做这个中英.甚至多语言切换的这个功能. DT本身不自带多 ...
- [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]
[英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War 中文名:战争中的世界 导 演:Ted Childs, ...
- Go语言的GOPATH与工作目录详解
这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOP ...
- 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)
本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...
- [转帖]rename(Perl语言版本) 详解
rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- 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 ...
- [转]js中几种实用的跨域方法原理详解
转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...
- Nginx服务器中配置非80端口的端口转发方法详解
这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...
随机推荐
- CF1770F Koxia and Sequence
一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...
- 免杀系列之利用blockdlls和ACG保护恶意进程
blockdlls Cobalt Strike 3.14版本以后添加了blockdlls功能,它将创建一个子进程并限定该子进程只能加载带有Microsoft签名的DLL. 这个功能可以阻止第三方安全软 ...
- Blazor前后端框架Known-V1.2.1
V1.2.1 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. 概述 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用. 跨平台,单 ...
- 2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?
2023-07-01:redis过期策略都有哪些?LRU 算法知道吗? 答案2023-07-01: 缓存淘汰算法(过期策略) 当Redis的内存超出物理内存限制时,内存中的数据就会频繁地与磁盘进行交换 ...
- SQL Server中的NULL值处理:判断与解决方案
摘要: 在SQL Server数据库中,NULL是表示缺少数据或未知值的特殊标记.处理NULL值是SQL开发人员经常遇到的问题之一.本文将介绍SQL Server中判断和处理NULL值的不同方法,以及 ...
- 浅析华为云Astro的5大关键能力技术
摘要:本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍. 背景介绍 低代码开发基于可视化开发的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升 ...
- js中数组的方法,32种方法
数组的32中方法=>{ 1.push(): 在数组末尾添加一个或多个元素,并返回修改后的数组. let fruits = ['apple', 'banana', 'orange']; fruit ...
- 论文日记四:Transformer(论文解读+NLP、CV项目实战)
导读 重磅模型transformer,在2017年发布,但就今天来说产生的影响在各个领域包括NLP.CV这些都是巨大的! Paper<Attention Is All You Need>, ...
- Unity的IPreprocessBuildWithReport:深入解析与实用案例
Unity IPreprocessBuildWithReport Unity IPreprocessBuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目时自动 ...
- 压测工具sysbench的使用
前言 sysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.sysbench提供如下测试: (1)CPU性能 (2)磁盘IO性能 (3)调度程 ...