请教tp5.1.11动态加载语言包问题

浏览:2596 发布日期:2018/05/07 分类:ThinkPHP5专区 关键字: 多语言
我是通过数据库查询出语言包内容,生成语言包文件,然后切换语言时自动加载语言包,语言包放置到common\lang目录下,无法加载,请问我的问题出在哪里?我测试过所有输出路径都是对的。

生成文件代码//生成语言包文件
    public function createLanguagePack($id = null)
    {
        //文件存放目录
        $filePath = realpath(getConfig('languagePackUrl'));
        if ($id === null){
            //生成所有语言包文件
            $languagePack = $this->languageTypeModel->getInfo();
        } else {
            //生成指定语言的语言包文件
            $languagePack[0] = $this->languageTypeModel->getInfo(['id'=>$id]);
        }
        foreach($languagePack as $v){
            $languageContent = "<?php\n/*{$v['comment']}语言包*/\nreturn[\n";
            $languages = $this->languageModel->getInfo(['type_id'=>$v['id']],"english,{$v['language']}");
            foreach($languages as $vv){
                $languageContent .= "'{$vv['english']}'=>'{$vv[$v['language']]}',\n";
            }
            //生成文件
            file_put_contents($filePath."/{$v['abbreviation']}.php",$languageContent.'];');
        }
    }
多语言切换//多国语言切换
    public function changeLanguage($lang)
    {
        cookie('think_var',$lang);
        Lang::load( '../application/common/lang/'.$lang.'.php');
//        echo '../application/common/lang/'.$lang.'.php';die;
        $this->success();
    }
生成的文件<?php
/*中文简体语言包*/
return[
'login out'=>'退出',
'login in'=>'登陆',
'home'=>'首页',
];
最佳答案
评论( 相关
后面还有条评论,点击查看>>