企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
官方文档 >系统会默认加载下面三个语言包: > 框架语言包: thinkphp\lang\当前语言.php > 应用语言包: application\lang\当前语言.php > 模块语言包: application\模块\lang\当前语言.php >如果要在模板中输出语言变量不需要在控制器中赋值,可以直接使用模板引擎特殊标签来直接输出语言定义的值: >{$Think.lang.lang_var} 可以输出当前语言包里面定义的 lang_var语言定义。 配置 ~~~ 'lang_switch_on' => true, ~~~ ![](https://box.kancloud.cn/5b7b3c42f469ad2c3bfec3d2fbac5074_493x502.png) zh-cn.php ~~~ <?php return [ 'tt' => '文章目录' ]; ~~~ en-us.php ~~~ <?php return [ '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取,一个是从模板中直接取,不管哪一种,都实现了数据与语言选择的分离。