ThinkPHP使用公共语言包的问题及解决方法
2015-05-25 09:47
295 查看
我用的是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')}是不是很方便,改动一处,相同的地方都改啦,希望对大家有所帮助。
首先,在项目根目录下的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')}是不是很方便,改动一处,相同的地方都改啦,希望对大家有所帮助。
相关文章推荐
- 在使用thinkphp 遇到的问题 及解决方法
- thinkphp使用http::download下载word或者ppt文件乱码问题的解决方法
- 在使用 Spring Security 的 Remember Me 记住密码功能时遇到的问题和解决方法
- Win10下python3和python2同时安装并解决pip共存问题 特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似。 使用python开
- Kafka实际使用过程中遇到的一些问题及解决方法
- thinkphp5——公共命名空间的使用方法
- spark程序打包集群运行方法及使用中的几个问题解决
- java 中JFinal getModel方法和数据库使用出现问题解决办法
- 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。
- spring boot使用i18n时properties文件中文乱码问题的解决方法
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Unity3D使用过程中的遇到的技巧及问题解决方法
- mac使用mysql出现的一些问题以及解决方法
- 完美解决json循环问题(使用javassist增强):Spring MVC中使用jackson的MixInAnnotations方法动态过滤JSON字段
- 使用序列化类的私有方法巧妙解决部分属性持久化问题
- 最近在做微信上传素材,使用tp5做框架,遇到了41005的问题,这里是解决的方法
- 使用EMWIN过程中遇到的问题与解决方法
- THINKPHP3.2使用soap连接webservice的解决方法
- ThinkPHP中在调用js文件中使用U方法和已配置路径问题