[discuz建站技术]
安装discuz插件时自动生成语言包文件
[复制链接]
|
二开插件,安装上之后,如果想修改某些文字得话,不得不在源码里找,费时费力。9 u1 }8 h9 Q0 |/ U! Z6 s- Q
# K- G# a' c6 Y. E! w今天我改了下dz安装插件时得代码,可以自动从xml里获取语言包并在data/plugindata生成对应得语言包文件,这样就方便修改了。
/ G( M, G `4 e0 o0 M5 C3 Y) x0 D# {3 U* ]/ ~7 s1 [
步骤如下:
/ Z5 ]) @& D( n* k3 ]打开source/admincp/admincp_plugins.php文件。找到if(empty($license) && $pluginarray['license']) {这行,在这行上面添加如下代码:
}) C( Y, D7 \% n6 H, R6 K// 自动生成语言包文件: |& p/ {8 N& F* J
$scriptlang = $pluginarray['language']['scriptlang'];! Q' V+ |6 T4 b% M; y
$templatelang = $pluginarray['language']['templatelang'];
1 G/ N, ~! s5 K# |$langtxt = "<?php\n";
3 Z8 N1 x! T( f2 l. ~: U4 vif(!empty($scriptlang)) {1 B$ M6 A: ?9 s) }+ u1 r
$langtxt .= "\$scriptlang['{$_GET['dir']}'] = ".var_export($scriptlang, 1).";\n"; // 生成script语言包内容; ], a* T x4 ]1 [7 g
}
+ o2 }. j: u6 B/ }if(!empty($templatelang)) {2 D1 r0 _- k& U
$langtxt .= "\$templatelang['{$_GET['dir']}'] = ".var_export($templatelang, 1).";\n"; // 生成template语言包内容
0 N% D) W; E% ] O& P5 g u2 B( T}
8 R6 ~+ C P" ?5 vfile_put_contents('data/plugindata/'.$_GET['dir'].'.lang.php', $langtxt); // 写入语言包文件* r n1 Z/ c( y n
// end
' `, d" A( Z8 |0 j8 i3 f% b) b. I. Z3 {5 n# W- Z
$ [. f1 ?5 R5 N& ~) N. v
& o" c! R# I# r ^, c% D还有installlang和systemlang语言包,但是用得少,所以没加。. h: k0 @ l% F* X# g. W& t
|
|