在最近的项目开发中,需要多种语言的切换,恰好我们使用的OneThink开发的,下面记录一下OneThink的多语言切换配置方法。
第一步:项目目录中:Application/home/conf/config.php加入代码:
'LANG_SWITCH_ON' => true, //开启语言包功能 'LANG_AUTO_DETECT' => true, // 自动侦测语言 'DEFAULT_LANG' => 'zh-cn', // 默认语言 'LANG_LIST' => 'en-us,zh-cn,zh-tw', //必须写可允许的语言列表 'VAR_LANGUAGE' => 'l', // 默认语言切换变量
第二步:Application/home/conf/tags.php添加:
'app_begin' => array('Common\Behavior\CheckLangBehavior'),
第三步:再把thinkphp中的Library中的Behavior\Checklangbehavior文件拷贝到application/common/behavior中:
注意这个类文件:namespase改写成:
namespace Common\Behavior; use Think\Behavior; use Think\Hook; //很重要:不然 找不到类文件 显示NOT FOUND;
第四步:application/index或者home中,建立Lang文件夹:并建立:zh_cn.php文件,默认读取此文件:文件中:
return array( '__SITE_TITLE__' => '老季博客', '__SITE_URL__' => '//laoji.org', );
在控制器中使用:
echo L('__SITE_TITLE__');
在模板文件中使用:
{:L("__SITE_TITLE__")}
所有语言包请使用小写,否则在linux中无法读取到语言包文件,造成切换语种失败(这里日志里面并不会记录读取不到语言包哦)。
———————–配置到此结束————————————-
切换语言的方法,使用浏览器打开页面添加参数 ?http://laoji.org/?l=zh-cn :
/?l=zh-cn //切换到中文
/?l=en-us //切换到英文
如果本身电脑是中文环境的话,浏览页面是,默认就是使用zh-cn的语言包。