欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

ThinkPHP使用公共语言包的问题及解决方法

程序员文章站 2022-05-09 19:33:02
...
ThinkPHP使用公共语言包的问题及解决方法
我使用的是ThinkPHP3.1.3。我的项目截图


说明:因为我的项目进行分组,现在以Admin分组新建语言包为例。

首先,在项目根目录下的app下的Lang新建一个zh-cn文件夹,然后在zh-cn文件夹下建立一个Admin分组,在Admin新建user.php。语言包定义可以参考下面


在user.php写入语言信息,如下

return array(

'SITE_TITLE' => '24青春',

'SITE_URL' => 'http://jahan.sinaapp.com/',

'SITE_KEYWORDS' => 'php thinkphp',

.................

);

接下来,在config.php(就是自己项目的配置信息文件)里进行配置

return array(

'LANG_AUTO_DETECT' => FALSE, //关闭语言的自动检测,如果你是多语言可以开启

'LANG_SWITCH_ON' => TRUE, //开启语言包功能,这个必须开启

'DEFAULT_LANG' => 'zh-cn', //zh-cn文件夹名字 /lang/zh-cn/common.php

);

还要在工程中tags.php(一般位于Conf目录下,如果没有,可以自己新建)添加代码,如下

return array(

'app_begin' => array(

'CheckLang',

),

);

app运行之前,会加载这个配置文件,去调用CheckLang方法。我运行项目发现,出了个错,错误提示没有 ”Class 'CheckLangBehavior' not found “。

因为没有找到'CheckLangBehavior'类,我们可以下载一个TP完整版,找到CheckLangBehavior.class.php,截图如下


把这个类放到工程中Extend目录,也可以放到Lib目录下。这样就可以使用自定义的语言包。

语言包的调用:

如果是在Action里调用,格式是 L('site_name')

如果是在模版文件里调用,格式为 {:L('site_name')}