请问thinkphp的多语言支持如何使用?手册说的不是很清楚。

原创
2016-06-23 13:30:24 610浏览

thinkphp3.2.3

网址:http://www.kancloud.cn/manual/thinkphp/1874

但我在控制器里直接输出L()只能适别ThinkPHP核心目录->Lang里的语言文件,我想在模块里添加Lang语言文件,但用L()不能识别,只会直接打印参数名,请问如何解决这个问题?


回复讨论(解决方案)

你给的连接中说的很清楚了
你具体是怎么做的?

我用的是3.1的,不过应该差不了多少

1.应用配置目录中config.php中添加相关配置
'LANG_SWITCH_ON' => true, //开启语言包功能
'LANG_AUTO_DETECT' => false, // 自动侦测语言
'DEFAULT_LANG' => 'ja', // 默认语言
'LANG_LIST' => 'zh-cn,en-us,ja', //必须写可允许的语言列表
'VAR_LANGUAGE' => 'lang', // 默认语言切换变量
2.应用配置目录新建tags.php文件并添加内容:
return array(
// 添加下面一行定义即可
//'app_begin' => array('Behavior\CheckLang'),
// 如果是3.2.1版本 需要改成
'app_begin' => array('Behavior\CheckLangBehavior'),
);
3.应用common目录新建Lang文件夹并新增定义的语言包文件
设置变量,例如:
return array(
'operation_fail'=>'操作失败',
'operation_success'=>'操作成功',
);
读取变量:
1.控制器中读取:L('operation_fail')
2.模型(model)中读取:{%operation_fail}
3.模板中读取:{:L('operation_fail')}

哦,我明白了,原来是我的'app_begin' => array('Behavior\CheckLangBehavior'),这个写在config.php了,应该写在tags.php,谢谢

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。