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

本文详细介绍了如何在ThinkPHP框架中进行多语言配置的过程,包括创建语言文件夹、配置语言设置及解决过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用的是Sae平台扩展的ThinkPHP版本,想写一个前台语言配置的文件,但是遇到点问题,用L方法获取语言变量,总是取得大写的语言配置的键名。不用想,肯定是哪儿配置的不到位,于是百度、谷歌上搜搜,搜了大半天没有搜出来,最后在一个犄角旮旯的地方找到解决方法,今儿总结出来,希望对Tper有帮助。
首先,在项目根目录下的Lang新建一个zh-cn文件夹,然后在zh-cn文件夹下建立一个common.php。

例如:app/Lang/zh-cn/common.php(多文件像这样/en/common.php等),然后在common.php配置好对应语言的信息。

return array(
    'SITE_TITLE' => '24青春',
    'SITE_URL' => 'http://jahan.sinaapp.com/',
    'SITE_KEYWORDS' => 'php thinkphp',
    .................
);
接下来,在app/Conf/config.inc.php里配置好与语言相关的设置。
return array(
    'LANG_AUTO_DETECT' => FALSE, //关闭语言的自动检测,如果你是多语言可以开启
    'LANG_SWITCH_ON' => TRUE, //开启语言包功能,这个必须开启
    'DEFAULT_LANG' => 'zh-cn', //zh-cn文件夹名字 /lang/zh-cn/common.php
);
弄到这里,我原以为就可以了,其实不然,还需要在app/Conf下建立tags.php文件(app/Conf/tags.php),这个真心的不知道,也许没仔细看文档。

把如下内容加入文件里。

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

由于我的Thinkphp版本是Sae扩展版,没有找到这个类,所以才报错,你们或许不会遇到,如果也有这种情况,可以下载一个TP完整版,找到这个类,把这个类CheckLangBehavior放到app/Lib/Behavior/下,再次运行就ok啦!好了,你已经配置好了,如果想在Action里调用,可以用L方法提取语言配置,L('SITE_TITLE'); 如果你想在模版文件里使用,你可以这样{:L('SITE_TITLE')}是不是很方便,改动一处,相同的地方都改啦,希望对大家有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值