找回密码
 立即注册
快捷导航

discuz安装后的插件没有xml安装文件,如何提取完整语言包的教程

[复制链接]
妙笔生花 2023-6-19 10:45:17 | 显示全部楼层
本帖最后由 妙笔生花 于 2023-6-19 10:46 编辑

场景

①站长安装了应用中心插件,想安装到自己其他站点发现无法安装,上传后后台 —— 插件里面看不到,直接开发者模式导出的xml文件不包含语言包,安装后很多显示乱码等等。。。

②网站搬家:使用dz后台的数据库备份,然后导入到新服务器后缺失语言包,插件显示乱码的情况。。。

③在之前老应用中心购买下载过的插件,换服务器或网站搬家后,想再次安装遇到没有安装文件,后台无法发现无法安装的问题。。。

所以以上各种没有语言包、没有安装文件等问题,其实都不是问题;

情况1:如果本身你是正版插件,那仅需要开启开发者模式:

编辑文件:/config/config_global.php

在倒数第二行插入:【开启开发者模式的意思,也就是从普通站长视角,变为开发者上帝视角,不影响正版插件更新、不影响论坛功能,反而功能更多】

$_config['plugindeveloper'] = 1;

discuz安装后的插件没有xml安装文件怎么提取完整语言包网站搬家迁移后插件语言包怎么完整提取的教程

保存后,就可以了。

然后再去应用中心下载这个没有安装文件的插件或模板,也就是二次下载的意思。【不用卸载,是点进去应用中心这个应用,再次点安装】

安装完后,你会发现该应用目录下会多出来 .xml的后缀文件和install.php安装文件,这才说明才是完整的,这样就可以愉快的安装到其他站点了。

情况2:如果已经去应用中心安装不了,但是在自己后台已经安装好了的插件怎么提取完整出来呢?

(如果插件带语言包的话,直接开启开发者模式后台导出xml文件是不完整的!!!)

方法一:【比较推荐】

缓存表可以读取的情况下:

应用中心安装的插件开启开发者模式导出的安装文件xml文件缺少语言包的解决办法

方法二:

以上模式导出语言包xml文件任然不完整的方法:

终极绝招:

论坛根目录新建文件名为:lang.php

内容为:(其中里面的:tshuz_discount 改为 你自己的插件标识名(插件目录名))

<?php

require './source/class/class_core.php';
//require '../../../../source/class/class_core.php';

$discuz = &discuz_core::instance();
$discuz->init();

//-------------------plugin language---------------------------------

$identifier = !empty($_GET['id']) ? $_GET['id'] : 'tshuz_discount';

loadcache('pluginlanguage_script');                
loadcache('pluginlanguage_template');

$val = array();
$val['scriptlang'] = $_G['cache']['pluginlanguage_script'][$identifier];
$val['templatelang'] = $_G['cache']['pluginlanguage_template'][$identifier];
$code = "<?php\r\n";
$code .= "\$lang = ". var_export($val, true). ";";

$code = str_replace('$scriptlang[', '$lang[\'scriptlang\'][', $code);
$code = str_replace('$templatelang[', '$lang[\'templatelang\'][', $code);
file_put_contents("lang_{$identifier}.php", $code);
exit;

然后访问:(其中以上新建文件内容里面的:tshuz_discount 改为 你自己的插件标识名(插件目录名))

httpx://你的域名/lang.php?id=tshuz_discount

会在你根目录生成:lang_tshuz_discount.php

编辑这个生成的文件:lang_tshuz_discount.php

里面的内容格式遵循:

<item id="language">
        <item id="scriptlang">
                <item id="text"><![CDATA[脚本语言文字]]></item>
        </item>
        <item id="templatelang">
                <item id="text"><![CDATA[模版语言文字]]></item>
        </item>
        <item id="installlang">
                <item id="text"><![CDATA[安装语言文字]]></item>
        </item>
</item>

那么把生成的脚本语言和模板语言都合成到导出的xml文件里面,然后就是完完整整的插件安装文件了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

温馨提示

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

Archiver|手机版|小黑屋|DLSite

GMT+8, 2024-11-24 04:16

Powered by Discuz! X3.5 and PHP8

快速回复 返回顶部 返回列表