安装discuz插件时自动生成语言包文件
二开插件,安装上之后,如果想修改某些文字得话,不得不在源码里找,费时费力。
今天我改了下dz安装插件时得代码,可以自动从xml里获取语言包并在data/plugindata生成对应得语言包文件,这样就方便修改了。
步骤如下:
打开source/admincp/admincp_plugins.php文件。找到if(empty($license) && $pluginarray['license']) {这行,在这行上面添加如下代码:还有installlang和systemlang语言包,但是用得少,我也不知道咋用,所以没加。
今天我改了下dz安装插件时得代码,可以自动从xml里获取语言包并在data/plugindata生成对应得语言包文件,这样就方便修改了。
步骤如下:
打开source/admincp/admincp_plugins.php文件。找到if(empty($license) && $pluginarray['license']) {这行,在这行上面添加如下代码:
- // 自动生成语言包文件$scriptlang = $pluginarray['language']['scriptlang'];$templatelang = $pluginarray['language']['templatelang'];$langtxt = "<?php\n";if(!empty($scriptlang)) { $langtxt .= "\$scriptlang['{$_GET['dir']}'] = ".var_export($scriptlang, 1).";\n"; // 生成script语言包内容}if(!empty($templatelang)) { $langtxt .= "\$templatelang['{$_GET['dir']}'] = ".var_export($templatelang, 1).";\n"; // 生成template语言包内容}file_put_contents('data/plugindata/'.$_GET['dir'].'.lang.php', $langtxt); // 写入语言包文件// end