OneThink 多语言切换 配置实用方法 图文教程

在最近的项目开发中,需要多种语言的切换,恰好我们使用的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;

20161118145714

 

第四步: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的语言包。

文件结构:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注