Yii框架多语言站点怎么配置——英语中文站点

  介绍

这篇文章主要介绍”Yii框架多语言站点怎么配置——英语中文站点”,在日常操作中,相信很多人在Yii框架多语言站点怎么配置——英语中文站点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Yii框架多语言站点怎么配置——英语中文站点”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

这里假设我们要建立中文/英文切换的站点

1。设置全局默认的语言

文件添加代码:/config/主要保护。php

& # 39;语言# 39;,=祝辞,& # 39;zh_cn # 39;,

2。控制器根据用户选择动态切换语言

一般来说,我们所有的控制器都是继承于保护/组件/控制器。php这个类,因此,我们可以在
这个类里面进行语言的定义来影响当前的请求。

public  function  init ()   {   如果才能(收取($ _GET[& # 39;朗# 39;]),,,,$ _GET[& # 39;朗# 39;],!=,,,)   {才能   ,,,Yii:应用()→language =, $ _GET[& # 39;朗# 39;];   ,,,Yii:应用()→→请求cookie(& # 39;朗# 39;],=,new  CHttpCookie(& # 39;朗# 39;,,$ _GET[& # 39;朗# 39;]);   ,,}   else 才能;如果(!空(Yii:应用()→→请求cookie(& # 39;朗# 39;)))   {才能   ,,,Yii:应用()→language =, Yii:应用()→→请求cookie(& # 39;朗# 39;);   ,,}   其他的才能   {才能   ,,,lang 美元;=,爆炸(& # 39;& # 39;$ _SERVER [& # 39; HTTP_ACCEPT_LANGUAGE& # 39;]);   ,,,Yii:应用()→language =,函数(str_replace(& # 39; & # 39;,, & # 39; _ # 39;,,元朗[0]));   ,,}   }

3。页面提供切换语言选项

在公用的布局头部,加入

& lt; ? php  echo 除外):链接(& # 39;中文& # 39;,,Yii::应用()→createUrl(& # 39;/& # 39;,,数组(& # 39;朗# 39;,=祝辞,& # 39;zh_cn # 39;))); ?比;   & lt; ? php  echo 除外):链接(& # 39;英语# 39;,,Yii::应用()→createUrl(& # 39;/& # 39;,,数组(& # 39;朗# 39;,=祝辞,& # 39;en_us # 39;))); ?在

4。多语言描述文字

//普遍是对应的语言文件,路径:保护/信息/zh_cn/common.php   Yii: t(& # 39;常见# 39;,,& # 39;,你好,世界! & # 39;);

5。数据库内容多语言

假设我们有这样的数据表:

CREATE  TABLE  IF  NOT  EXISTS “新闻”,(   “id”才能,INT (10), UNSIGNED  NOT  NULL  AUTO_INCREMENT,   “朗”,才能VARCHAR (4), NOT  NULL  DEFAULT  en # 39;,,/*,这个用来区分不同语言的内容,*/氨晏狻?才能VARCHAR (255), NOT 空,   “文本”,才能TEXT  NOT 空,   PRIMARY 才能;KEY  (id)   );

在模型里面添加一些代码,可以根据当前语言加载不同语言的消息。

class  News  extends  CActiveRecord   {   ,/* *   ,,*,这里会在查询数据的时候,合并条件,根据当前语言查出数据   ,,*   ,,*/public 才能;function  defaultScope ()   {才能   ,,,return 阵列(   ,,,,,& # 39;条件# 39;,=祝辞,“lang=: lang"   ,,,,,& # 39;params # 39;,=祝辞,阵列(   ,,,,,,,& # 39;:朗# 39;,=祝辞,Yii:应用()→语言,   ,,,,,),   ,,,);   ,,}   ,,   ,/* *   ,,*,提供这个方法,作一个例子说明,可以指定加载哪个语言的数据   ,,*   ,,*/public 才能;function 朗郎($)   {才能   ,,,这个→美元getDbCriteria ()→mergeWith(数组(   ,,,,,& # 39;条件# 39;,=祝辞,“lang=: lang"   ,,,,,& # 39;params # 39;,=祝辞,阵列(   ,,,,,,,& # 39;:朗# 39;,=祝辞,元朗,   ,,,,,),   ,,,));   ,,,return 美元;   ,,}   }

使用方法:

//,加载默认语言的数据。   $ posts =,职位:模型()→findAll ();//,Get  posts  written 德国拷贝//,加载,en_us 语言的数据。   posts 美元=,职位:模型()→朗(& # 39;en_us # 39;)→findAll ();

到此,关于“Yii框架多语言站点怎么配置——英语中文站点”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

Yii框架多语言站点怎么配置——英语中文站点