think
网址:http://www.kancloud.cn/manual/think
但我在控制器里直接输出L()只能适别ThinkLang里的语言文件,我想在模块里添加Lang语言文件,但用L()不能识别,只会直接打印参数名,请问如何解决这个问题?


回复讨论(解决方案)

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

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

1.应用配置目录中config. 'LANG_SWITCH_ON' => true, //开启语言包功能
'LANG_AUTO_DETECT' => false, // 自动侦测语言
'DEFAULT_LANG' => 'ja', // 默认语言
'LANG_LIST' => 'zh-cn,en-us,ja', //必须写可允许的语言列表
'VAR_LANGUAGE' => 'lang', // 默认语言切换变量
2.应用配置目录新建tags. // 添加下面一行定义即可
//'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.

09-04 23:26