dz php7.1语言包,discuz 插件语言包
插件語言包
Discuz現(xiàn)在有四個編碼的的源代碼,分別是GBK,BIG5,UTF8SC,UTF8TC,所以下載安裝時,要選擇對應編碼的源代碼包。可以看出DZ也沒有方法整合四個編碼的源代碼,所以在插件開發(fā)時,編碼是很重要的。
那么插件里是如何區(qū)分不同編碼的呢?
如果在php代碼或模板里用中文字符,那么你用什么編碼設計的,只能顯示什么編碼的。其它編碼的網站安裝時會出現(xiàn)亂碼。DZ是這樣解決編碼的。
如下圖所示:
新版本兼容的語言編碼
如需自動轉碼,請在文件包中包含下面的文件:
discuz_plugin_it618_onlineserver.xml (簡體中文編碼)
文件包中已手動轉碼的請忽略本設置
xml配置文件是可以被DZ自動轉碼的,所以當你在應用的后臺設置里填中文字符,是可以正常顯示的。
但是你不能在代碼輸出中文字符,但是DZ提供了語言包。
可以手工添加語言包到xml配置文件里。
IT618資訊網]]>
IT618資訊網]]>
language 是語言包的根結點
scriptlang 是腳本語言包部分 調用方法:lang('plugin/it618_onlineserver', 'it618_copyright')
templatelang 是模板語言包部分 調用方法:{lang it618_onlineserver:it618_copyright}
============================================================================================================
/**
*?加載語言
*?@param?$file?-?語言文件,可包含路徑如?forum/xxx?home/xxx
*?@param?$langvar?-?語言文字索引
*?@param?$vars?-?變量替換數(shù)組
*?@return?語言文字
*/
functionlang($file,$langvar=?null,$vars=array())
此函數(shù)可加載 Discuz! X 中的所有語言包。 $file 如果寫成不包含路徑的文件,則代表 source/language 目錄下的文件。如果包含目錄,如 'forum/misc',則代表 source/language/forum/lang_misc.php 文件。如果寫成 plugin/插件id,則會讀取插件的語言包文件,即 data/plugindata/lang_plugin.php,此文件是根據(jù)安裝并啟用的插件緩存后生成的。 ...[/more] 任何語言內容均可增加可替換的變量 如語言包內容為“你好 {username}” 那么 $vars = array('username' => $username) 時,{username} 會顯示成 $username 變量的值。 當插件語言包文件(data/plugindata/lang_plugin.php)內容為:
$lang=array(
'test'=>
array(
'name'=>'葫蘆',
),
);
?>
以下代碼可調用“葫蘆”二字
echolang('plugin/test','name');
=======================================================================================================
創(chuàng)建語言包
給插件創(chuàng)建語言包首先需要創(chuàng)建一個 data/plugindata/identifier.lang.php 文件,文件內容中包含 3 個數(shù)組,如下:
$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']。
語言包導出
創(chuàng)建好的語言包在插件導出后會自動導出到 XML 文件中,供插件作者轉碼后發(fā)放多編碼版本的插件。如上例中導出的 XML 中會包含以下內容:
data/plugindata/identifier.lang.php 文件不必在插件發(fā)布的時候導出,此文件僅供插件設計者模式時使用。
插件模板
插件的模板統(tǒng)一放置到 source/plugin/identifier/template 目錄下,程序腳本通過以下語句調用插件模板文件,如下例,調用 source/plugin/identifier/template/test.htm
include template('identifier:test');
模版中調用插件模版通過以下方法:
{template identifier:test}
模板的編寫詳見模板創(chuàng)建、解析原理詳解
總結
以上是生活随笔為你收集整理的dz php7.1语言包,discuz 插件语言包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ntsd命令强制性杀掉进程[微软未开
- 下一篇: windows安装ElasticSear