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 中英文网站详解的更多相关文章

  1. ThinkPHP视图查询详解

    ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm   这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下     ThinkP ...

  2. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

  3. thinkphp自动验证详解

    自动验证时THINKPHP提供的一种比较好的验证方式,可以在使用create创建数据对象的时候自动进行数据验证. 数据进行自动验证的方式有两种: 1.静态方式:在模型类里面通过$_validate属性 ...

  4. ThinkPHP关联模型详解

    在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个 ...

  5. dedecms织梦做中英文(多语言)网站步骤详解

    用dedecms织梦程序如何做中英文网站,下面是一个详细的图文教程,希望能帮助到大家. 以下是用dedecms织梦程序制作过的一个5国语言网站,下面开始教程. 一.首先在后台建栏目,有三点需要注意 1 ...

  6. ThinkPHP 配置详解

      3.0 ThinkPHP配置详解 3.1 入口文件的配置 一般不建议在入口文件做过多的配置,但可以重新定义一些系统常量,以下简单介绍几个常用的系统常量. 1.APP_PATH 默认情况下,框架的项 ...

  7. Nginx主配置参数详解,Nginx配置网站

    1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...

  8. (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)

    LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...

  9. ABAP程序系统字段中英文详解

    SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-DBLNT: 被处理过的记录的笔数 SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: ...

随机推荐

  1. Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理

    这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的在python3上运行Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是 ...

  2. java Script 用if else 实现从大到小指定输出,升序排列

    我只是一个小白 各位大神看到不要介意 var a = Number(prompt("请输入你需要排列的第一个数字")) var b = Number(prompt("请输 ...

  3. Oozie时出现Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0?

    不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/ooziedb.sh create -sqlfile oozie.sql -ru ...

  4. 20170713_js闭包/匿名函数/作用域

    js:闭包 var getNum; function getCounter() { var n = 1; var inner = function () {return n++; } console. ...

  5. 懵懂oracle之存储过程3--JOB详解

    在前面学习了存储过程的开发.调试之后,我们现在就需要来使用存储过程了.简单的使用,像上篇<懵懂oracle之存储过程2>中提到的存储过程调用,我们可以将写好的存储过程在另一个PL/SQL块 ...

  6. Ubuntu16.04配置Mac主题

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7072878.html 觉得有帮助?欢迎来打赏 Ubuntu配置Mac主题 下 ...

  7. 花了一年时间开发的弯管机YBC编程软件

    弯管技术广泛应用于锅炉及压力容器,空调制造,汽车,航空航天等多种行业.管型的形状复杂多变弯管工艺人员通常依据图纸输入关键点的坐标(XYZ坐标),然后生成可以由弯管机设备直接直接完成的加工指令YBC数据 ...

  8. Verilog 任意(奇数/偶数)分频器

    参加过一次笔试,让实现3分频,楼主当时是懵逼的,脑子里只知道同时利用上升沿和下降沿,本来写对了,慌张面试,脑子不管用了,(因为是手写,只能用脑子仿真)后来又给改错了,捂脸... 还是逻辑不清晰,现在自 ...

  9. mybatis 详解(三)------入门实例(基于注解)

    1.创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 2.建立一个Java工程,并导入相应的jar包,具体目录如 ...

  10. QueueAPI记录

    队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素就是说,队列以一种先进先出的方式管理数据,如果你试图向一个 已经满了的阻塞队列中添加一个元素或者是从一个空的阻塞队 ...