zoukankan      html  css  js  c++  java
  • Phpcms之L()函数

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

    phpcms v9
    语言包位置: 

    1
    phpcmslanguageszh-cn    中文语言包
    2
    phpcmslanguagesen    英文语言包 

    phpcms v9
    语言包建立 

    phpcms v9二次开发之模型类的应用,讲到了足球等级的模型类的应用,现在为其添加一个中文语言包,其步骤如下:
    1
    phpcmslanguageszh-cn  目录下新建一个文件level.lang.php,注意"level"与模块名称相对应。
    2
    、在level.lang.php写上如下代码:

    1.  
    2. <?php
    3.  
    4. $LANG['level_name']   = '等级';
    5. $LANG['edit_level']    = '编辑等级';
    6. $LANG['operations_manage']        =     '管理操作';
    7. $LANG['allselect']    = '全选';
    8. $LANG['level_deleted']   = '等级批量删除完成!';
    9.  
    10. ?>
    11.  

    复制代码

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

    phpcms v9
    语言包应用 

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

    1.  
    2. <thead>
    3.           <tr>
    4.            <th width="50" align="center"><input type="checkbox" value="" id="check_box" onclick="selectall('id[]');"><?php echo L('allselect')?></th>
    5.           <th  align="center">id</th>        
    6.           <th  align="center"><?php echo L('level_name')?></th>                        
    7.          <th  align="center"><?php echo L('operations_manage')?></th>
    8.     </tr>
    9.   </thead>
    10.  

    复制代码

    我们上面定义的语言包中"$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
    、杜绝因为编码而引起的乱码问题 

      

  • 相关阅读:
    Cannot find or open the PDB file from http://bbs.csdn.net/topics/350149584 呼吁大家忽视结贴率为0的求助。
    使用GDI+位图数据扫描线处理图像的小技巧 from http://blog.csdn.net/maozefa/article/details/4533770
    解决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法 from http://live.aulddays.com/tech/08/c1853precompile/
    使用GDI+保存用户的绘图数据.
    char、varchar、text和nchar、nvarchar、ntext的区别
    ASP.NET Cache
    ECMAScript 引用类型
    Meta标签——网站中必不可少的一部分
    ECMAScript 原始类型
    web性能测试分析工具篇
  • 原文地址:https://www.cnblogs.com/lovebing/p/6549868.html
Copyright © 2011-2022 走看看