zblog添加主题或插件多语言包载入代码LoadLanguage

zblog教程 446

开发zblog主题或插件时,对于网页上一些固定的文字(如导航菜单、搜索或提交等),不论是中文还是英文通常习惯下会直接写在模板文件上,这样就会导致如果使用这个应用做不同语言的网站时,就需要逐个文件翻译一次文字,显然有点不方便。其实在zblog php 1.4+新版本中可以方便的为主题或者插件引入语言包,从而为开发的应用增加多语言支持,提供载入语言包的函数代码就是LoadLanguage

载入语言包代码

1
2
global $zbp; //注意 $zbp->LoadLanguage 之前应先声明全局变量$zbp
$zbp->LoadLanguage($type, $id, $default = ' ');
参数

该函数有三个参数

  • $type – 应用类型,可选theme、plugin(zblog应用类型有三个,分别是system|theme|plugin,其中system是系统保留类型,所以不能选)。
  • $id – 应用ID,当应用类型为theme或plugin时有效,就是主题或插件的ID。
  • $default – 默认语言,如zh-cn,为空则跟随zblog系统语言配置。

函数使用步骤

1、在应用目录下建立language目录,并根据语言版本创建语言文件(如en.php、zh-cn.php、zh-tw.php等),在文件中添加要翻译的内容,其格式如下:

1
2
3
4
5
6
<?php
return array(
	'closemenu'=>'收起菜单',
	'expandmenu'=>'展开菜单',
);
?>

PS:该数组键名推荐使用简洁明了的英文单词,以方便引用。

2、在应用的include.php文件找到ActivePlugin_APPID()函数,添加载入函数代码:

1
2
3
4
5
function ActivePlugin_AdminColor() {
	global $zbp;
	$zbp->LoadLanguage('theme', 'boke8');
	...
}

PS:一般推荐在激活应用时载入,如果有不同的需求,可自行调整。

3、在代码中可使用下面两种代码来引用

在前端模板文件可用如下代码

1
{$lang['boke8']['closemenu']}

非前端模板文件使用下面的代码

1
$zbp->lang['boke8']['closemenu']

Z-BlogPHP将根据系统配置或载入时指定的默认语言自动加载相应语言包来显示网页上对应的文字。

官方wiki:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:functions:loadlanguage

精品推荐: