插件语言包
Discuz现在有四个编码的的源代码,分别是GBK,BIG5,UTF8SC,UTF8TC,所以下载安装时,要选择对应编码的源代码包。可以看出DZ也没有方法整合四个编码的源代码,所以在插件开发时,编码是很重要的。
那么插件里是如何区分不同编码的呢? 如果在php代码或模板里用中文字符,那么你用什么编码设计的,只能显示什么编码的。其它编码的网站安装时会出现乱码。DZ是这样解决编码的。 如下图所示: 新版本兼容的语言编码 如需自动转码,请在文件包中包含下面的文件: discuz_plugin_it618_onlineserver.xml (简体中文编码) 文件包中已手动转码的请忽略本设置 xml配置文件是可以被DZ自动转码的,所以当你在应用的后台设置里填中文字符,是可以正常显示的。 但是你不能在代码输出中文字符,但是DZ提供了语言包。 可以手工添加语言包到xml配置文件里。 <item id=" language "> <item id=" scriptlang "> <item id="it618_copyright"><![CDATA[插件设计:<a href=\"http://www.cnit618.com\" target=\"_blank\" title=\"为站长解决问题的网站\">IT618资讯网</a>]]></item> </item> <item id=" templatelang "> <item id="it618_copyright"><![CDATA[插件设计:<a href="http://www.cnit618.com" target="_blank" title="为站长解决问题的网站">IT618资讯网</a>]]></item> </item> </item> language 是语言包的根结点 scriptlang 是脚本语言包部分 调用方法:lang('plugin/it618_onlineserver', 'it618_copyright') templatelang 是模板语言包部分 调用方法:{lang it618_onlineserver:it618_copyright}
============================================================================================================
此函数可加载 Discuz! X 中的所有语言包。
以下代码可调用“葫芦”二字
=======================================================================================================
给插件创建语言包首先需要创建一个 data/plugindata/identifier.lang.php 文件,文件内容中包含 3 个数组,如下: <?php $scriptlang['identifier'] = array( 'english' => 'chinese', ... ); $templatelang['identifier'] = array( 'english' => 'chinese', ... ); $installlang['identifier'] = array( 'english' => 'chinese', ... ); ?> $scriptlang 为程序脚本文件的语言包,$templatelang 为模版文件的语言包,$installlang 为安装、升级、卸载脚本用的语言包。 如果插件不涉及某些类型的语言文字,变量可忽略。 然后在插件基本设置中开启语言包选项后即可。
模版中调用模板文件语言包,通过 {lang identifier:english} 方式调用。 程序脚本中调用脚本文件语言包,通过 lang('plugin/identifier', 'english') 方式调用。 安装脚本中调用安装脚本文件语言包,通过 $installlang 变量直接获取。如 $installlang['english']。
创建好的语言包在插件导出后会自动导出到 XML 文件中,供插件作者转码后发放多编码版本的插件。如上例中导出的 XML 中会包含以下内容: <item id="language"> <item id="scriptlang"> <item id="english"><![CDATA[chinese]]></item> </item> <item id="templatelang"> <item id="english"><![CDATA[chinese]]></item> </item> <item id="installlang"> <item id="english"><![CDATA[chinese]]></item> </item> </item> data/plugindata/identifier.lang.php 文件不必在插件发布的时候导出,此文件仅供插件设计者模式时使用。 插件模板插件的模板统一放置到 source/plugin/identifier/template 目录下,程序脚本通过以下语句调用插件模板文件,如下例,调用 source/plugin/identifier/template/test.htm include template('identifier:test'); 模版中调用插件模版通过以下方法: {template identifier:test} 模板的编写详见模板创建、解析原理详解 |
discuz 插件语言包
最新推荐文章于 2024-08-11 02:45:08 发布