thinkphp 中英文网站详解
thinkphp 制作中英文网站的两种方法
一,在网站程序里增加语言脚本,设置整站自动翻译。
二,在原有的页面制作新的模板,在新的页面编辑网站,
优缺点:
一:优点.........就是不用多次添加内容文章,不用设计数据库语言分类,制作时间短,一次添加整站翻译。。缺点.........翻译脚本可能翻译不正确,细节差异可能影响网站页面排版,且不能自定义修改,自由编辑度低。
二:优点.............可自定义翻译页面内容,页面差异自由修改,高自由度 编辑。。缺点........添加内容麻烦,中英文内容要各自添加一份,数据库要设计语言分类标识。
制作流程:
一:我也是参照百度手册拷下来的(具体的还要看个人操作)
1. 在Application/Common/conf/下新建tags.php(默认是没有的,需要新建)文件,增加内容如下:
1 return array(
2 'app_begin' => array('Behavior\CheckLangBehavior'), //表示在app_begin标签位置执行多语言检测行为。
3 );
2. 在Application/Common/conf/config.php配置文件中新增如下内容:
1 'LANG_SWITCH_ON' => true, // 开启语言包功能
2 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效
3 'LANG_LIST' => 'zh-cn,en-us', // 允许切换的语言列表 用逗号分隔
4 'VAR_LANGUAGE' => 'l', // 默认语言切换变量
3. 在Application/Common/下新建Lang文件。
4. 在Application/Common/Lang/下新建en-us.php文件,增加内容如下:
1 return array(
2 'welcome'=>'I am English',
3 );
5. 在Application/Common/Lang/下新建zh-cn.php文件,增加内容如下:
1 return array(
2 'welcome'=>'我是中文的',
3 );
6. 然后在对应的模板文件中进行引用,如: {$Think.lang.welcome}
7. 设置中英文切换的超链接,如下:
<a href="?l=zh-cn" >简体中文</a> | <a href="?l=en-us" >English</a>
二:这是我自己根据自己的网站的设计制作的。
1:根据自己的网站设计数据库在需要的表(article)里面添加一个语言字段标识,

2:后台添加文章时可选中英文

3:home模块添加一个控制器(EnglishController.class.php)View添加一个文件夹(English)复制中文页面及修改头部及内容。

4:在控制器方法里,获取文章信息时加个判断is_lang = 0(IndexController.class.php);或is-lang = 1(EnglishController.class.php);
5:最后在前端跳转中英文的选项上设置链接跳转。

6:这是一个比较愚蠢的办法,却很实用,熟悉之后开发时间也很快,希望对各位有用,本人也是菜鸟一个,大神们有更好更便捷的功能更强大的@我,这是我的第三篇博客,也是最认真的,希望在未来会有更多的更好的技术与大家分享。。。
thinkphp 中英文网站详解的更多相关文章
- ThinkPHP视图查询详解
ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm 这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下 ThinkP ...
- ThinkPHP 缓存技术详解 使用大S方法
如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...
- thinkphp自动验证详解
自动验证时THINKPHP提供的一种比较好的验证方式,可以在使用create创建数据对象的时候自动进行数据验证. 数据进行自动验证的方式有两种: 1.静态方式:在模型类里面通过$_validate属性 ...
- ThinkPHP关联模型详解
在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个 ...
- dedecms织梦做中英文(多语言)网站步骤详解
用dedecms织梦程序如何做中英文网站,下面是一个详细的图文教程,希望能帮助到大家. 以下是用dedecms织梦程序制作过的一个5国语言网站,下面开始教程. 一.首先在后台建栏目,有三点需要注意 1 ...
- ThinkPHP 配置详解
3.0 ThinkPHP配置详解 3.1 入口文件的配置 一般不建议在入口文件做过多的配置,但可以重新定义一些系统常量,以下简单介绍几个常用的系统常量. 1.APP_PATH 默认情况下,框架的项 ...
- Nginx主配置参数详解,Nginx配置网站
1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...
- (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)
LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...
- ABAP程序系统字段中英文详解
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-DBLNT: 被处理过的记录的笔数 SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: ...
随机推荐
- String.valueOf() 方法的使用
1. 由 基本数据型态转换成 String String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 ...
- 常用http响应报文分析
这是我在使用Asp.Net的时候,整理的的一些关于Http响应报文的分析笔记,零零散散的记录, 现在贴出来,抛砖引玉,如果有什么不对或者不严谨的地方,请各位大神不吝赐教. 一.HTTP响应码响应码由三 ...
- FZU 2256 迷宫
https://vjudge.net/problem/FZU-2256 题意:略 思路: 在比赛的时候想到了一次dfs,一次bfs但是样例都过不了...赛后才知道,距离的更新必须同步,不能先把时光机的 ...
- LeetCode-Best Time to Buy and Sell Stock III[dp]
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- hadoop环境中误删除tmp文件夹的恢复
情景描述: 种种原因,不小心把系统根目录中的tmp文件删除了!发现jps之后看不到 master主机上面的namenode,resourcemanager,secondarynamenode三个进程了 ...
- NOIP2011玛雅游戏
闲的没事干,出来写一下早两天刷的一道搜索题NOIP2011玛雅游戏,其实这道题还是比较水的,虽然看起来可能有点复杂. 方法很简单粗暴,直接根据规则模拟就行. 话不多说直接上代码(关键操作在注释中有提到 ...
- perl的安装和版本切换工具-perlbrew
setenv PERL /opt/perl5 --设置新perl的起始安装路径 curl -kL http://install.perlbrew.pl | bash source /opt/perl5 ...
- 强连通分量tarjan缩点——POJ2186 Popular Cows
这里的Tarjan是基于DFS,用于求有向图的强联通分量. 运用了一个点dfn时间戳和low的关系巧妙地判断出一个强联通分量,从而实现一次DFS即可求出所有的强联通分量. §有向图中, u可达v不一定 ...
- Premiere&After Effects的实时预览插件开发
一.介绍 Adobe Premiere和After Effects在影视编辑.渲染领域已经得到广泛应用.全景视频在相应工具拼接好后也可以导入Premiere/After Effects后也可进行剪辑. ...
- SpringBoot初识(一)
一.什么是SpringBoot 最近几年,微服务的概念越来越火.而相信大家在搜索微服务时,映入眼帘的首先就是SpringBoot以及SpringCloud.SpringCloud提供的一套完整的微服务 ...