阅读模式:

Thinkphp 3.2.3 设置多语言支持

查看:7586  回复:0  类型:  来源:ThinkPHP  标签 thinkphp

        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 0

发布评论:


登录:
  表情:
提交