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

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

程序员文章站 2022-05-24 10:33:24
...
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,谢谢