thinkphp实现多语言功能(语言包)
1.在Home(你取的项目名)的config.php中添加如下配置 代码如下: return array(
//'配置项'=>'配置值' 'LANG_SWITCH_ON' => true,//开启语言包功能 'LANG_AUTO_DETECT' => true,// 自动侦测语言 'DEFAULT_LANG' => 'zh-cn',// 默认语言 'LANG_LIST' => 'en-us,zh-cn,zh-tw',//必须写可允许的语言列表 'VAR_LANGUAGE' => 'l',// 默认语言切换变量 ); ?> 2.Home的conf文件夹里添加一个php文件(tag.php),添加如下代码: 代码如下: return array(
// 添加下面一行定义即可 'app_begin' => array('CheckLang') ); 3.把Extend/Behavior/CheckLangBehavior.class.php 文件复制到Home/lib/Behavior/中(完整版的thinkphp包才有,没有的话请自行创建) CheckLangBehavior.class.php代码: 代码如下: defined('THINK_PATH') or exit();
/** * 语言检测 并自动加载语言包 * @category Extend * @package Extend * @subpackage Behavior */ class CheckLangBehavior extends Behavior { // 行为参数定义(默认值) 可在项目配置中覆盖 protected $options = array( 'LANG_SWITCH_ON' => false,// 默认关闭语言包功能 'LANG_AUTO_DETECT' => true,// 自动侦测语言 开启多语言功能后有效 'LANG_LIST' => 'zh-cn',// 允许切换的语言列表 用逗号分隔 'VAR_LANGUAGE' => 'l',// 默认语言切换变量 ); // 行为扩展的执行入口必须是run /** $group = ''; 4.在Home里的lang文件夹下创建3个语言文件夹。分别是zh-cn en-us zh-tw, 在这三个文件夹里各创建一个common.php文件,如图: 在common.php 里对应写上 代码如下: return array( 'welcome'=>'Welcome to use thinkphp', ); ?> 代码如下: return array( 'welcome'=>'欢迎使用ThinkPHP', ); ?> 代码如下: return array(
'welcome'=>'歡迎使用ThinkPHP', ); ?> 5.在tpl/Index/文件夹下创建视图 index.html 代码如下: 切换语言: | | 大功告成! 后台语言要进行语言切换的话,在每句话之前加L,如: 代码如下: public function index(){
print L('add_user_error'); //add_user_error只是语言变量,具体的语言要到语言包里写 $this->display(); } 这一点我觉得cakephp做的就比较好,不需要给每句话都给予一个变量。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |