Discuz! X3.2加载语言包lang()函数,实例代码解析

2014年9月26日 发表评论 阅读评论

//lDiscuz! X 加载语言包 lang() 函数,上个简单的例子,可能你找了很久都没找到,我也是。

比如我要加载一个语言包在source/language/lang_qq.php 这个 lang_qq.php是我自定义的。(dota闪电站小猪注意到基本上语言包文件全部在主目录的source/language这个文件夹里)

在需要加载的PHP文件加写入以下代码

ang(‘qq’);
$lang = & $_G['lang']['qq'];

print_R($lang);

这样就可以打印出$lang所有数组值。希望能解决你的问题。

下面讲讲lang() 这个函数在哪里

\source\function\function_core.php

查找 function lang($file, $langvar = null, $vars = array(), $default = null) {

就可以找到这个函数了。

此函数可加载 Discuz! X 中的所有语言包。
$file 如果写成不包含路径的文件,则代表 source/language 目录下的文件。如果包含目录,如 ‘forum/misc’,则代表 source/language/forum/lang_misc.php 文件。如果写成 plugin/插件id,则会读取插件的语言包文件,即 data/plugindata/lang_plugin.php,此文件是根据安装并启用的插件缓存后生成的。
…[/more]
任何语言内容均可增加可替换的变量
如语言包内容为“你好 {username}”
那么 $vars = array(‘username’ => $username) 时,{username} 会显示成 $username 变量的值。
当插件语言包文件(data/plugindata/lang_plugin.php)内容为:

<?php
$lang = array (
  ‘test’ =>
  array (
    ‘name’ => ‘葫芦’,
  ),
);
?>

echo lang(‘plugin/test’, ‘name’);

这样就可以调用出来,这是方法二,我也不太了解,提供给你们参谋!


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/791.html

  1. 本文目前尚无任何评论.