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:这是一个比较愚蠢的办法,却很实用,熟悉之后开发时间也很快,希望对各位有用,本人也是菜鸟一个,大神们有更好更便捷的功能更强大的@我,这是我的第三篇博客,也是最认真的,希望在未来会有更多的更好的技术与大家分享。。。
转载于:https://www.cnblogs.com/lyingcc/p/7429205.html
thinkphp 中英文网站详解相关推荐
- php视图查询的优势,ThinkPHP视图查询详解
搜索热词 ThinkPHP提供的视图查询应用功能十分强大,用户利用视图查询功能可以将多个数据表的字段内容按需要进行指定和筛选,组织成一个基于这些数据表的视图模型,然后就可以通过该模型直接进行多表联合查 ...
- php tp框架,浅谈PHP之ThinkPHP框架使用详解
Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板.V为视图.C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应. 下载及配置 ...
- [CentOS Python系列] 六.阿里云搭建Django网站详解
本篇文章主要介绍讲述部署阿里云服务器Django网站环境,并通过IP地址访问网页的过程.写代码过程中往往第一步需要解决的就是配置开发环境,对于新手来说,这是非常头疼的事情,而当配置好之后或者对于老手来 ...
- 使用dede系统建设中英文双语网站详解
由于公司要我做一个中英文双语的企业站,而我已经使用DEDE系统把中文页面( http://www.heatpress123.net )都做好了而且已经有了排名所以想在原先的基础上添加一个英文页面,我也 ...
- ThinkPHP 缓存技术详解 使用大S方法
如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...
- ThinkPHP关联模型详解
在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个 ...
- 爬虫爬取在线小说阅读网站详解
前言 环境:python 安装.requests安装.Beautiful Soup安装 爬取目标: 笔趣看网站的<校花之贴身高手>,以下是第一章链接 https://www.biqukan ...
- 文本相似度计算(中英文)详解实战
使用tf_idf模型实现中英文文本相似度计算 1. 英文文本相似度计算 测试文本 documents = ["Is there anything good playing?",&q ...
- 设计师必备的10 个顶尖的国内外设计网站详解!
作为一名室内设计师,痛苦的莫过于缺少灵感以及素材来源了,这次我从自己收藏的上百个设计灵感网站里,整理出10 个顶尖的国内外设计网站:Behance.Pinterest.Awwwards.CSS AWA ...
- ThinkPHP之getfield详解
getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值.但是事实上并没有那么简单,现将该方法的用法总结如下: 1.获取某个字段值 这 ...
最新文章
- 从李小龙的一句话看程序员是否应该多学几种编程语言
- KEIL、uVision 和 MDK 区别和联系
- slidingmenu能否实现菜单页在内容页上方,而不是把内容页挤到一边去????...
- 创业95%失败不是因项目本身
- 全网最细之static关键字讲解
- 设计秒杀系统架构,这4个关键点要注意
- UVA 12299 RMQ with Shifts 线段树
- [转]struct 和typedef struct什么区别
- 【小程序】小游戏开发工具详解(上)
- Java学生管理系统功能结构图
- 介绍两种简单实用的信道编码——CRC校验和汉明码
- Visual Studio2019配置备忘
- 智能家居1 涂鸦开关接入homeassistant
- java基础—输入/输出
- 【ICPC-303】hau 1874 畅通工程续
- 计算机网络安全复习三——密钥分发与认证协议
- (CVPR-2018)Non-local Neural Networks
- 智能名片如何在会场营销落地
- LWN:GFP 标志介绍以及移除 __GFP_ATOMIC!
- Shaders for Game Programmers and Artists(7) - Non-photorealistic rendering