locallang); $lang = $this->rock->get('locallang', $moren); if(!in_array($lang, $this->langArray))$lang = $moren; if(!defined('LANG'))define('LANG', $lang); $xuhao= 0; foreach($this->langArray as $k=>$v){ if($v==$lang)$xuhao = $k; } $GLOBALS['langdata'] = array( 'lang' => $lang, 'xuhao' => $xuhao ); } public function getLocal() { return array( 'arr' => $this->langArray, 'arrcn' => $this->langArraycn, ); } /** * 生成语言包文件 */ public function createlocal() { $bar = glob('include/langlocal/langtxt/*.txt'); $path= 'include/langlocal/langphp/lang.php'; $pats= 'include/langlocal/langphp/langjs.php'; $sss = $ssb = ''; if(is_array($bar))foreach($bar as $k=>$fil1){ $str = $this->getcontarr($fil1); if($str){ $isph = 1; $isjs = 0; if(contain($fil1,'_onlyjs')){ $isph = 0; $isjs = 1; } if(contain($fil1,'_onlyphp')){ $isph = 0; } if($isph==1){ if($sss)$sss.=','; $sss.=''.$str.''; } if($isjs==1){ if($ssb)$ssb.=','; $ssb.=''.$str.''; } if($isph==0 && $isjs==0){ $fname = str_replace('_onlyphp.txt','.php',str_replace('include/langlocal/langtxt/','',$fil1)); $spath = 'include/langlocal/langphp/'.$fname.''; $this->rock->createtxt($spath, 'rock->createtxt($path, $str); $str = 'rock->createtxt($pats, $str); $nrs = require($pats); $nrs = 'var rocklang = \'\',rocklangxu=0,langdata = '.json_encode($nrs).';'; $ss1 = ''; foreach($this->langArray as $k=>$v){ $ss1.='if(rocklang==\''.$v.'\')rocklangxu='.$k.';'; } $nrs.=" function lang(ky){ if(!rocklang){rocklang = $('html').attr('lang');if(!rocklang)rocklang='".$this->locallang."';".$ss1."} var d = langdata[ky]; if(!d)return ky; var str = d[rocklangxu]; if(!str)str = ky; return str; }"; $this->rock->createtxt('js/lang.js', $nrs); unlink($pats); return returnsuccess(); } public function getcontarr($file,$lx=0) { if(!file_exists($file))return ''; $cont = file_get_contents($file); $arra = explode("\n", $cont); $str = ''; $ssb = ''; foreach($arra as $k=>$strb){ if(!$strb)continue; $strb = str_replace(array('^M',"\n","\r"),'', $strb); $arrx = explode('|', $strb); if($k>0){ $str.=','; $ssb.=','; } $keys= $arrx[0]; $v001= ''; if(contain($keys,'::')){ $arr1 = explode('::', $keys); $keys = $arr1[0]; $v001 = $arr1[1]; } $str.='\''.$keys.'\'=>array(\''.$v001.'\''; $ssb.='"'.$keys.'":["'.$v001.'"'; $len = count($arrx); foreach($arrx as $k1=>$v1)if($k1>0){ $str.=',\''.$v1.'\''; $ssb.=',"'.$v1.'"'; } $str.=')'; $ssb.=']'; } if($lx==0)return $str; if($lx==1)return $ssb; } }