• 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;
        }
  • 相关阅读:
    HDU 6125
    HDU 6129
    Super Jumping! Jumping! Jumping!
    HDU 1040 As Easy As A+B(排序)
    VS2015转VS2008
    HDU 1329 Hanoi Tower Troubles Again!(乱搞)
    HDU 1062 Text Reverse(字符串)
    HDU 1013 Digital Roots(字符串)
    HDU 1003 Max Sum(动态规划)
    HDU 1203 I NEED A OFFER!(01背包)
  • 原文地址:https://www.cnblogs.com/zhangyouwu/p/11597790.html
Copyright © 2020-2023  润新知