zoukankan      html  css  js  c++  java
  • P5多语言默认语言不生效BUG的解决办法

    下面代码覆盖 thinkPhp/library/think/Lang.php 里面的detect()自动检测语言方法

     /**
         * 自动侦测设置获取语言选择
         * @access public
         * @return string
         */
        public static function detect() {
    // 自动侦测设置获取语言选择
            $langSet = Config::get('default_lang');
            if (isset($_GET[self::$langDetectVar])) {
    // url中设置了语言变量
                $langSet = strtolower($_GET[self::$langDetectVar]);
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            } elseif (Cookie::get(self::$langCookieVar)) {
    // 获取上次用户的选择
                $langSet = strtolower(Cookie::get(self::$langCookieVar));
            } elseif ($langSet) {
    // 获取默认语言
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            } elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    // 自动侦测浏览器语言
                preg_match('/^([a-zd-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
                $langSet = strtolower($matches[1]);
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            }
            if (empty(self::$allowLangList) || in_array($langSet, self::$allowLangList)) {
    // 合法的语言
                self::$range = $langSet;
            }
            return self::$range;
        }
  • 相关阅读:
    使用RabbitMq
    创建.NET core的守护进程
    nginx配置
    让.net core 支持静态文件
    关于sql中如何动态加WHERE条件
    CentOS上部署.net core
    chrom中 background 调用pop.js
    windows下安装redis
    sql server导出大批量数据
    python爬虫笔记
  • 原文地址:https://www.cnblogs.com/zhangyouwu/p/11597790.html
Copyright © 2011-2022 走看看