mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-08-26 14:49:44 +08:00
62 lines
1.6 KiB
PHP
62 lines
1.6 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: liu21st <liu21st@gmail.com>
|
|
// +----------------------------------------------------------------------
|
|
declare (strict_types = 1);
|
|
|
|
namespace think\middleware;
|
|
|
|
use Closure;
|
|
use think\App;
|
|
use think\Lang;
|
|
use think\Request;
|
|
use think\Response;
|
|
|
|
/**
|
|
* 多语言加载
|
|
*/
|
|
class LoadLangPack
|
|
{
|
|
protected $app;
|
|
|
|
protected $lang;
|
|
|
|
public function __construct(App $app, Lang $lang)
|
|
{
|
|
$this->app = $app;
|
|
$this->lang = $lang;
|
|
}
|
|
|
|
/**
|
|
* 路由初始化(路由规则注册)
|
|
* @access public
|
|
* @param Request $request
|
|
* @param Closure $next
|
|
* @return Response
|
|
*/
|
|
public function handle($request, Closure $next)
|
|
{
|
|
// 自动侦测当前语言
|
|
$langset = $this->lang->detect($request);
|
|
|
|
if ($this->lang->defaultLangSet() != $langset) {
|
|
// 加载系统语言包
|
|
$this->lang->load([
|
|
$this->app->getThinkPath() . 'lang' . DIRECTORY_SEPARATOR . $langset . '.php',
|
|
]);
|
|
|
|
$this->app->LoadLangPack($langset);
|
|
}
|
|
|
|
$this->lang->saveToCookie($this->app->cookie);
|
|
|
|
return $next($request);
|
|
}
|
|
}
|