[discuz建站技术]
安装discuz插件时自动生成语言包文件
[复制链接]
|
二开插件,安装上之后,如果想修改某些文字得话,不得不在源码里找,费时费力。) u9 p7 H. D) g0 j0 ]9 n
3 H: V! ?* I; c/ `9 h今天我改了下dz安装插件时得代码,可以自动从xml里获取语言包并在data/plugindata生成对应得语言包文件,这样就方便修改了。
2 W" X8 ^3 f) ?: g9 e# z1 y( p8 a! |$ y; |* K! D6 a5 k2 y
步骤如下:
- L5 D1 w# N1 \; g7 i打开source/admincp/admincp_plugins.php文件。找到if(empty($license) && $pluginarray['license']) {这行,在这行上面添加如下代码:# u' ]- u. K8 x0 w3 b( |, Z
// 自动生成语言包文件
9 z( `) V/ j0 E) F/ k& y$scriptlang = $pluginarray['language']['scriptlang'];: y) e# _. U& s( n9 _- H9 b% C: X) `
$templatelang = $pluginarray['language']['templatelang'];
% `& x' n' V( ]4 Z0 a U$langtxt = "<?php\n";. j! G% f; d5 ^: m, U& h
if(!empty($scriptlang)) {9 f3 @& `: m$ ?( ]- o
$langtxt .= "\$scriptlang['{$_GET['dir']}'] = ".var_export($scriptlang, 1).";\n"; // 生成script语言包内容
5 e( b- l/ G% I8 p% M}$ }; v3 |/ g/ s$ A3 z1 I
if(!empty($templatelang)) {
5 ?+ K L$ j' S" B4 V $langtxt .= "\$templatelang['{$_GET['dir']}'] = ".var_export($templatelang, 1).";\n"; // 生成template语言包内容
/ v3 Q# i9 b8 f; B" E! N& H}2 Q4 [* k7 ~ Z; v; ^7 C
file_put_contents('data/plugindata/'.$_GET['dir'].'.lang.php', $langtxt); // 写入语言包文件
! X- F: ~" x- B, `6 c// end
9 _/ t. ]- K( @" s8 k$ l, V' W! X
7 q9 K# t1 F) y' o' w" n( {) A4 r' ^& K% b2 }9 n& E8 b5 \# ]
9 V5 i7 _: M/ H' O+ O! ?还有installlang和systemlang语言包,但是用得少,所以没加。, o* e9 P" f, h# w% q
|
|