[discuz建站技术]
安装discuz插件时自动生成语言包文件
[复制链接]
|
二开插件,安装上之后,如果想修改某些文字得话,不得不在源码里找,费时费力。
; O) T% `8 ?1 c* ]1 p
6 N8 ]7 P& P X1 i; B1 |" q3 d. t今天我改了下dz安装插件时得代码,可以自动从xml里获取语言包并在data/plugindata生成对应得语言包文件,这样就方便修改了。
' J+ w& d8 J V' T2 ~
6 l4 N @& _ i( b' g" b0 O0 J) W5 U步骤如下:
: E+ {9 N% H9 V! r" e/ {# h; ~打开source/admincp/admincp_plugins.php文件。找到if(empty($license) && $pluginarray['license']) {这行,在这行上面添加如下代码:
: _1 J( w4 y- I3 y// 自动生成语言包文件
4 b5 _. H. K, p* K$scriptlang = $pluginarray['language']['scriptlang'];1 E; J: k1 h- J1 A% v# l+ q
$templatelang = $pluginarray['language']['templatelang'];/ p! ~/ Q8 F$ U" i9 }
$langtxt = "<?php\n";5 g- U# q4 w/ Q3 F
if(!empty($scriptlang)) {
0 b. \6 h% f9 y $langtxt .= "\$scriptlang['{$_GET['dir']}'] = ".var_export($scriptlang, 1).";\n"; // 生成script语言包内容 w8 A7 r1 t/ M1 z: F
}, J r* J2 F6 ^4 O! r
if(!empty($templatelang)) {
. O/ |8 ~& I3 l, k% x- ~ $langtxt .= "\$templatelang['{$_GET['dir']}'] = ".var_export($templatelang, 1).";\n"; // 生成template语言包内容1 B/ B; T, ^2 }) J0 D1 }
}
]0 F" O/ {: Q; M3 n7 Z e2 x; G7 ffile_put_contents('data/plugindata/'.$_GET['dir'].'.lang.php', $langtxt); // 写入语言包文件" J4 B! H1 Z" d$ W1 U9 I; h
// end4 E. W' _1 x, |& R
& H* W! t& H* h. q: l
' K3 s% E% e2 L7 m, x4 @: K' f% L6 j' p
8 [/ N1 Z( r2 m9 j2 R1 X& k: H还有installlang和systemlang语言包,但是用得少,所以没加。9 [9 M& d8 r' M [$ B
|
|