多语言切换使用

第一步:在自己项目的配置文件中config开启多语言支持

'LANG_SWITCH_ON' =>true, //是否开启多语言支持
'VAR_LANGUAGE' =>'hl', //语言变量
'LANG_AUTO_DETECT'=>true,//开启语言自动侦测
'LANG_LIST'=>'zh-cn,zh-hk,en-us',//所支持的语言列表

以上配置参考CheckLangBehavior.class.php文件

第二步:开启checklang行为,在项目配置文件Conf目录下新建tags.php文件,在此文件做以下配置

return 'tags'=>array(

'app_begin' => array(
'BehaviorReadHtmlCacheBehavior', // 读取静态缓存

'BehaviorCheckLangBehavior',
),

)

以上配置参考ThinkPHP/Mode/common.php文件

第三步:创建与语言列表相对应的语言包文件

在项目/Common/Lang这个目录下新建zh-cn.php,zh-hk.php,en-us.php文件,在这三个文件里设置语言变量信息

return array(

'username'=>'username',

'password'=>'password',

)

return array(

'username'=>'用戶名',

'password'=>'密碼',

)

在控制器里可用快捷函數L()获得所有语言变量信息,通过assign分配给模板,$this->assign('lang',L())在模板里可以这样获取语言变量{$lang.USERNAME},在模板里的语言变量名必须大写。

通过get获得语言变量的值,就可以自动切换语言了,比如通过在浏览器里这样访问www.baidu.com/hl/zh-cn,自动加载简体语言包

语言包的创建有4种,分别是整个框架语言包、项目公共语言包、模块语言包、控制器语言包,他们的区别是作用域不同

原文地址:https://www.cnblogs.com/toward-the-sun/p/4052092.html