第39章ThinkPHP--多语言
学习要点:
1.系统信息
2.应用信息
主讲教师:李炎恢
本课程由北风网和瓢城Web俱乐部提供
本节课,我们将要学习一下ThinkPHP的多语言设置,多语言就是国际化问题,可以改变网站各种信息语言的设置。
一.系统信息
ThinkPHP内置多语言支持,如果涉及到国际化的支持,那么可以定义相关的语言包文件。任何字符串形式的输出,都可以定义语言常量。
要启用多语言功能,需要配置开启多语言行为,在应用配置目录中:
//在应用模块Weibo下Common/Conf建立tags.php
return array(
'app_begin'=>array('Behavior\CheckLangBehavior'),
);
PS:这个行为主要是检测多语言功能。
//开启语言包功能
'LANG_SWITCH_ON'=>true,
//自动侦测语言开启多语言功能后有效
'LANG_AUTO_DETECT'=>true,
//允许切换的语言列表用逗号分隔
'LANG_LIST'=>'zh-cn,en-us',
/
/默认语言切换变量
'VAR_LANGUAGE'=>'lang',
ThinkPHP系统提供了三个默认语言包,分别是简体中文、英文、繁体中文。而这三种语言包保存在:Think\Lang下。
我们想显示系统提示信息,可以通过L()方法来传入多语言变量。
//设置语言定义的键值对
L('name','Lee');
echo L('name');
//获取无法加载模块的常量值
echo L('_MODULE_NOT_EXIST_');
//通过cookie切换语言定义
public function lang(){
setcookie('think_language','en-us');
}
如果配置好多语言,会自动生成一个think_language的cookie,默认的值是zh-cn,我们在开发网站的时候,一旦遇到错误,显示中文提示的错误信息。
php语言处理什么的如果想显示其它的的语言包,那么可以采用URL的方式来切换:
localhost/demo39/User/?lang=en-us
二.应用信息
除了系统开发信息的语言包,我们用的更多的是项目应用中的语言定义切换。比如,一个表单支持中英文双语结构。
除了以上的配置外,实现应用信息中英文切换需要在应用目录进行配置。
第一步:在Home目录下建立Lang目录;
第二步:分别建立zh-cn.php和en-us.php两个文件;
第三步:分别在两个语言包编写语言常量;
//中文语言包
return array(
//表单部分
'form_user'=>'用户',
'form_pass'=>'密码',
'form_email'=>'邮箱',
'form_submit'=>'提交',
)
;
//英文语言包
return array(
//表单部分
'form_user'=>'user',
'form_pass'=>'pass',
'form_email'=>'email',
'form_submit'=>'submit',
);
//模版获取语言定义
<p>{$Think.lang.form_user}:<input type="text"name="user"/></p>
<p>{$Think.lang.form_pass}:<input type="password"name="pass"/></p> <p>{$Think.lang.form_email}:<input type="text"name="email"/></p> <p><input type="submit"value="{$Think.lang.form_submit}"/></p>
PS:这里还可以使用{:L('form_user')}来获取语言定义。
感谢收看本次教程!
本课程是由北风网(ibeifeng)
瓢城Web俱乐部(ycku)联合提供:本次主讲老师:李炎恢
谢谢大家,再见!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。