杰克工作室 发表于 2023-3-18 20:32

discuz插件机制--语言包

<h3>插件语言包</h3>
<span style="color:#e74c3c"><strong>创建语言包</strong></span>

<p>给插件创建语言包首先需要创建一个 data/plugindata/identifier.lang.php 文件,文件内容中包含 3 个数组,如下:</p>

<pre>
&lt;?php

$scriptlang[&#39;identifier&#39;] = array(
&#39;english&#39; =&gt; &#39;chinese&#39;,
...
);

$templatelang[&#39;identifier&#39;] = array(
&#39;english&#39; =&gt; &#39;chinese&#39;,
...
);

$installlang[&#39;identifier&#39;] = array(
&#39;english&#39; =&gt; &#39;chinese&#39;,
...
);

?&gt;
</pre>

<p>$scriptlang 为程序脚本文件的语言包,$templatelang 为模版文件的语言包,$installlang 为安装、升级、卸载脚本用的语言包。 如果插件不涉及某些类型的语言文字,变量可忽略。</p>

<p>然后在插件基本设置中开启语言包选项后即可。</p>
<span style="color:#e74c3c"><strong>调用语言包</strong></span>

<p>模版中调用模板文件语言包,通过 {lang&nbsp;<em>identifier</em>:english} 方式调用。</p>

<p>程序脚本中调用脚本文件语言包,通过 lang(&#39;plugin/<em>identifier&#39;</em>, &#39;english&#39;) 方式调用。</p>

<p>安装脚本中调用安装脚本文件语言包,通过 $installlang 变量直接获取。如 $installlang[&#39;english&#39;]。</p>
<span style="color:#e74c3c"><strong>语言包导出</strong></span>

<p>创建好的语言包在插件导出后会自动导出到 XML 文件中,供插件作者转码后发放多编码版本的插件。如上例中导出的 XML 中会包含以下内容:</p>

<pre>
&lt;item id=&quot;language&quot;&gt;
        &lt;item id=&quot;scriptlang&quot;&gt;
                &lt;item id=&quot;english&quot;&gt;&lt;!]&gt;&lt;/item&gt;
        &lt;/item&gt;
        &lt;item id=&quot;templatelang&quot;&gt;
                &lt;item id=&quot;english&quot;&gt;&lt;!]&gt;&lt;/item&gt;
        &lt;/item&gt;
        &lt;item id=&quot;installlang&quot;&gt;
                &lt;item id=&quot;english&quot;&gt;&lt;!]&gt;&lt;/item&gt;
        &lt;/item&gt;
&lt;/item&gt;
</pre>

<p>data/plugindata/<em>identifier</em>.lang.php 文件不必在插件发布的时候导出,此文件仅供插件设计者模式时使用。</p>

<h3>插件模板</h3>

<p>插件的模板统一放置到 source/plugin/<em>identifier</em>/template 目录下,程序脚本通过以下语句调用插件模板文件,如下例,调用 source/plugin/<em>identifier</em>/template/test.htm</p>

<pre>
include template(&#39;identifier:test&#39;);
</pre>

<p>模版中调用插件模版通过以下方法:</p>

<pre>
{template identifier:test}
</pre>

<p>模板的编写详见<a href="https://addon.dismall.com/library/plug/plugin/plugin_language.htm-ac=document&amp;page=template_coderule.html" title="模板创建、解析原理详解">模板创建、解析原理详解</a><br />
<br />
原文地址:https://addon.dismall.com/library/plug/plugin/plugin_language.html#language<br />
其它用法:https://open.dismall.com/?ac=document&amp;page=plugin_language</p>
页: [1]
查看完整版本: discuz插件机制--语言包