官方文档
系统会默认加载下面三个语言包:
框架语言包: thinkphp\lang\当前语言.php
应用语言包: application\lang\当前语言.php
模块语言包: application\模块\lang\当前语言.php
如果要在模板中输出语言变量不需要在控制器中赋值,可以直接使用模板引擎特殊标签来直接输出语言定义的值:
{$Think.lang.lang_var}
可以输出当前语言包里面定义的 lang_var语言定义。
配置
'lang_switch_on' => true,
zh-cn.php
<?phpreturn [ 'tt' => '文章目录'];
en-us.php
<?phpreturn [ 'tt' => 'Article Category'];
application\admin\controller\Login.php
public function index() { $ttt = Lang::get('tt');//Controller中如何调用多语言,也可以用lang('tt') 简写 // cookie('think_var', 'en-us'); //英 cookie('think_var', 'zh-cn'); //中 $this->assign('ttt', $ttt); return $this->fetch(); }
\application\admin\view\login\index.html
1---{$Think.lang.tt}--第一种调用方法2---{:lang('tt')}--与第一种方法一样3---{$ttt}--controller中调用Lang类
总结:从上面的代码中我们可以得知,tp5多语言其实是读取cookie,然后去不同的语言包取数据,有两种形式可以取到,一个是从Controller取,一个是从模板中直接取,不管哪一种,都实现了数据与语言选择的分离。
0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复
1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号