mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
优化写法
This commit is contained in:
@@ -24,13 +24,13 @@ return [
|
||||
// 默认时区
|
||||
'default_timezone' => 'PRC',
|
||||
// 是否开启多语言
|
||||
'lang_switch_on' => false,
|
||||
'lang_switch_on' => false,
|
||||
// 支持的多语言列表
|
||||
'lang_list' => ['zh-cn'],
|
||||
'lang_list' => ['zh-cn'],
|
||||
// 语言变量
|
||||
'lang_detect_var' => 'lang',
|
||||
'lang_detect_var' => 'lang',
|
||||
// 语言cookie变量
|
||||
'lang_cookie_var' => 'think_lang',
|
||||
'lang_cookie_var' => 'think_lang',
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | 模块设置
|
||||
@@ -144,9 +144,9 @@ return [
|
||||
// +----------------------------------------------------------------------
|
||||
// | 数据库设置
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
// 是否启用多状态数据库配置 如果启用的话 需要跟随app_status配置不同的数据库信息
|
||||
'use_db_switch' => false,
|
||||
'use_db_switch' => false,
|
||||
'database' => [
|
||||
// 数据库类型
|
||||
'type' => 'mysql',
|
||||
|
||||
@@ -110,18 +110,20 @@ class Lang
|
||||
public static function detect()
|
||||
{
|
||||
// 自动侦测设置获取语言选择
|
||||
if (isset($_GET[Config::get('lang_detect_var')])) {
|
||||
$langCookieVar = Config::get('lang_cookie_var');
|
||||
$langDetectVar = Config::get('lang_detect_var');
|
||||
if (isset($_GET[$langDetectVar])) {
|
||||
// url中设置了语言变量
|
||||
$langSet = strtolower($_GET[Config::get('lang_detect_var')]);
|
||||
\think\Cookie::set(Config::get('lang_cookie_var'), $langSet, 3600);
|
||||
} elseif (\think\Cookie::get(Config::get('lang_cookie_var'))) {
|
||||
$langSet = strtolower($_GET[$langDetectVar]);
|
||||
\think\Cookie::set($langCookieVar, $langSet, 3600);
|
||||
} elseif (\think\Cookie::get($langCookieVar)) {
|
||||
// 获取上次用户的选择
|
||||
$langSet = strtolower(\think\Cookie::get(Config::get('lang_cookie_var')));
|
||||
$langSet = strtolower(\think\Cookie::get($langCookieVar));
|
||||
} elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
||||
// 自动侦测浏览器语言
|
||||
preg_match('/^([a-z\d\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
|
||||
$langSet = strtolower($matches[1]);
|
||||
\think\Cookie::set(Config::get('lang_cookie_var'), $langSet, 3600);
|
||||
\think\Cookie::set($langCookieVar, $langSet, 3600);
|
||||
}
|
||||
if (in_array($langSet, \think\Config::get('lang_list'))) {
|
||||
// 合法的语言
|
||||
|
||||
Reference in New Issue
Block a user