首页 > 代码库 > 多语言设置

多语言设置

①多语言配置config/config.php

拷贝ThinkPHP/Extend/Behavior/CheckLangBehavior.class.php中的:

 protected $options   =  array(
            ‘LANG_SWITCH_ON‘        => false,   // 默认关闭语言包功能
            ‘LANG_AUTO_DETECT‘      => true,   // 自动侦测语言 开启多语言功能后有效
            ‘LANG_LIST‘             => ‘zh-cn‘, // 允许切换的语言列表 用逗号分隔
            ‘VAR_LANGUAGE‘          => ‘h1‘,        // 默认语言切换变量
        );

  在项目目录的config.php中做如下配置

    ‘LANG_SWITCH_ON‘ => true, // 默认关闭语言包功能
    ‘LANG_AUTO_DETECT‘ => true, // 自动侦测语言 开启多语言功能后有效
    ‘LANG_LIST‘ => ‘zh-cn,zh-tw,en-us‘, // 允许切换的语言列表 用逗号分隔
    ‘VAR_LANGUAGE‘ => ‘h1‘, // 默认语言切换变量

②配置行为Behavior

<?php
return array(
    ‘app_begin‘ => array(
        ‘ReadHtmlCache‘, // 读取静态缓存
        ‘CheckLang‘, //启用多语言行为
    ),
);

③具体语言文件设置

Lang/en-us/admin/Admin.php

Lang/zh-cn/admin/Admin.php

语言设置格式分别如下:

<?php
return array(
    ‘USERNAME‘ => ‘username‘,
    ‘PASSWORD‘ => ‘password‘,
    ‘VERIFY‘ => ‘verify‘,
 );

<?php
return array(
    ‘USERNAME‘ => ‘用户名‘,
    ‘PASSWORD‘ => ‘密码‘,
    ‘VERIFY‘ => ‘验证码‘,
 );
//下标不区分大小写.系统会自动转为大写

④模板读取语言变量

可以在控制器中利用L函数来获得所有的语言变量信息

$this->assign(‘language‘,L());

该信息是一维数组。

可以在模板中:

{$language.USERNAME}

{$language.PASSWORD}

{$language.VERIFY}


url请求地址:

http://www.easyby.com/index.php/Admin/Admin/login/h1/en-us

http://www.easyby.com/index.php/Admin/Admin/login/h1/zh-cn

h1代表的就是语言切换变量  en-us 表示切换的语言是何种语言