服务器之家

服务器之家 > 正文

phpcms v9英语语言包应用详解

时间:2019-10-16 12:11     来源/作者:phpcms建站网

phpcms英文二次开发之语言包详解

phpcms英文的语言包使其成为国际化的cms,从PHPCMS v9.1开始,发布了英文版。但很遇憾的是,到目前为止,PHPCMS还没有实现语言切换的功能,比如中英语言切换等。我认为PHPCMS实现了语言的切换功能才能称得上真正意义国际化cms。虽然如此,和国内的其它CMS相比,PHPCMS已经是最为国际化的了。

phpcms v9英语语言包位置:

1、phpcms\languages\zh-cn    中文语言包

2、phpcms\languages\en    英文语言包

phpcms v9英文语言包建立

在phpcms v9二次开发之模型类的应用,讲到了足球等级的模型类的应用,现在为其添加一个中文语言包,其步骤如下:

1、phpcms\languages\zh-cn  目录下新建一个文件level.lang.php,注意“level”与模块名称相对应。

2、在level.lang.php写上如下代码:

 

复制代码

代码如下:


<?php
$LANG['level_name'] = '等级';
$LANG['edit_level'] = '编辑等级';
$LANG['operations_manage'] = '管理操作';
$LANG['allselect'] = '全选';
$LANG['level_deleted'] = '等级批量删除完成!';
?>

 

到此,一个语言包就建立完了,真的很简单,接下来我我来看一下它的应用。

模块语言包一般是用在与之相应的模块的模板上,好比一个局部变量,系统语言包适用所有模块模板,就像全局变量一样。下面是足球级别后台列表模板代码片断:

 

复制代码

代码如下:


<thead>
<tr>
<th width="50" align="center"><input type="checkbox" value="" id="check_box" onclick="selectall('id[]');"><?php echo L('allselect')?></th>
<th align="center">id</th> 
<th align="center"><?php echo L('level_name')?></th> 
<th align="center"><?php echo L('operations_manage')?></th>
</tr>
</thead>


我们上面定义的语言包中"$LANG['level_name'] = '等级';",就是作为函数“ L('level_name')”的参数,其输出的数据为“等级”。

 

当然,我们也不一定非要建立语言包,非正式的话也可以直接赋与参数,如:
“<th  align="center"><?php echo L('level_name')?></th>”,可以写成“<th  align="center"><?php echo L("等级")?></th>”,甚至可以更直接写成<th  align="center">等级</th>

phpcms v9英语语言包的作用

上面说过,语包的写法和其它替代写法,当然,参数字节小的话可以直接给L()函数赋与参数,但是如果参数字节太大呢?这样在模板上就显得凌乱了。语言包一经定义,可以重复在多个模板上使用。前面也提到,甚至可以不用语言包和“L()"函,直接写,不过不建议这样,一般来说不会有什么问题,但我在调试过程中偶尔也会出现一些意想不到的乱码。显然语言的作用有:
1、开发国际版CMS
2、使模板整洁美观
3、方便模板修改,减少工作量
4、杜绝因为编码而引起的乱码问题

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部