Thinkphp 中多语言的设置,获取不同的配置语言包数据,再把数据传给模板,在模板中获取对应的变量,实现语言切换。
具体配置:
在模块的公共配置目录(Application/Common/Conf/tags.php)中简历tags.php配置文件
//配置文件tags.php return array( // 添加多语言支持检测, //自动去加载行为库中的类文件 ThinkPHP/Library/Behavior/CheckLangBehavior.class.php 'app_begin' => array('BehaviorCheckLang'), );
在公共配置文件(Application/Common/Conf/config.php)中进行语言开启的配置
'LANG_SWITCH_ON' => true, // 开启语言包功能 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效 'LANG_LIST' => 'zh-cn,en-us,zh-tw', // 允许切换的语言列表 用逗号分隔 'VAR_LANGUAGE' => 'l', // 默认语言切换变量
语言包读取的顺序
ThinkPHP/Lang/zh-cn.php 框架底层语言包 Application/Common/Lang/zh-cn.php 应用公共语言包 Application/Home/Lang/zh-cn.php Home模块语言包 Application/Home/Lang/zh-cn/user.php Home模块的User控制器语言包
通过上面的加载顺序,在对应的目录添加对应的语言包文件,进行语言的切换,语言包的写法和框架底层语言包写法一样,每种语言对应一个语言包文件。
return array( 'username' => '用户名', 'password' => '密码', );
L()方法可以获取上面设置的所有语言变量,L('指定的语言'),可以在控制器中获取所有指定的语言变量并通过$this->assign()方法赋值到前台模板中。语言切换通过浏览器get请求hl参数指定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)