toward-the-sun

第一步:在自己项目的配置文件中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(
\'Behavior\ReadHtmlCacheBehavior\', // 读取静态缓存

\'Behavior\CheckLangBehavior\',
),

)

以上配置参考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种,分别是整个框架语言包、项目公共语言包、模块语言包、控制器语言包,他们的区别是作用域不同

分类:

技术点:

相关文章:

猜你喜欢
相关资源
相似解决方案